[1.9.3 版本] videoplay 组件动态加载 clip 失败

我用的是creator 1.9.3

请问如何动态设置videoPlay的clip呢?

官方中的例子播放哪个视频文件都是预先要设置好的,是否目前不支持动态设置?

如果可以,能否给个思路?

谢谢!!!!

因为项目需要

需要在不同时期播放本地中不同的视频文件,请问社区内的大大们,怎么做呢?

可以查看官方范例(example-case)里面有动态播放 videoplay 的做法

技术大牛,你好!

我要的是在脚本文件中可以去设置播放哪个视频文件,就像动态加载资源一样。

类似如下例子:
// 加载 SpriteFrame
var self = this;
cc.loader.loadRes(“test assets/image”, cc.SpriteFrame, function (err, spriteFrame) {
self.node.getComponent(cc.Sprite).spriteFrame = spriteFrame;
});

但我用类似思路在videoplay上,似乎不行?

例子集合中也没有我要的例子。

能否给个思路不?

万分感谢!

cc.loader.loadRes(”clip 在 resources 文件下的路径“, cc.Asset, (err, clip) => {
    this.node.getComponent(cc.VideoPlayer).clip = clip;
});

类似这样

我有的是1.9.3版本,如下是源代码

var self = this;
cc.loader.loadRes(“video/carvideo”,cc.Asset, function (err, clip) {
self.videoClip.node.getComponent(cc.VideoPlayer).clip = clip;
});

运行,没有任何作用。

打印输出:
console.log("–videoClip Clip:"+this.videoClip.clip);
console.log("–videoClip Resource Type:"+this.videoClip.resourceType);

输出:
–videoClip Clip:
–videoClip Resource Type:1

clip是空的,什么也没有?

请问是否1.9.3版本不支持这样的写法?

可以打印一下 err 是什么

err输出
–error:Error: cc.Asset in “resources/video/carvideo” does not exist.

这是什么意思?

这个视频没有任何地方用过啊?

是不是,videoplay动态加载不支持?

我用图片是完全可以的。

你把这个 demo 发给我,我看看你的文件结构,测试一下

好的,麻烦给个邮箱,我发你。

821686174@qq.com

已邮件发送,请查收。

好的,我测试一下在跟你沟通

我这边是正常的

你可以需要该一下监听事件:

meta-loaded

然后 play 的时候不要用 scheduleOnce 直接 play 就行了

我用的是cocos creator 1.9,3

看来可能是版本不支持

不太可能版本不支持,应该都是能播放的,你是刚开发新项目吗?推荐你用 2.0.7,1.9.0 太老了

项目快做完了,原来视频都是可以播放的,但是都是先做好控件,然后视频文件“拖”进Clip槽里,这样就可以播放成功。现在要动态设置就提示“资源不存在”

好吧,你之前没说版本:

1.9.3 版本只要:

cc.loader.loadRes(”video/carvideo“, (err, clip) => {
    this.node.getComponent(cc.VideoPlayer).clip = clip;
});
```
这样就可以加载了

ps: 以后提问最好写得现在的标题差不多格式比较好,别人看得比较清晰(会双方很多时间的)