Titanium 视频播放器有多少种加载状态以及每种状态的含义?
How many load states of Titanium video player's have and the meanings each of them?
伙计们!我需要你的帮助!最近,我试图将 loadstate 事件监听器添加到视频播放器,但是,当我控制事件时evt 来检查负载状态 我发现 IOS 和Android 平台和意料之外,状态含义也不同。据我所知,
Android 视频播放器的加载状态只有两种:0和1
① 0 加载状态好像是 preloading
②1加载状态好像可以正常播放
IOS 视频播放器的加载状态有四种:1, 2, 3 和 5
我只知道没网就出现状态5
这是我的代码:
var activityIndicator = Ti.UI.createActivityIndicator({
visible: false,
width: Ti.UI.SIZE,
height: Ti.UI.SIZE,
message: 'loading...'
});
videoPlayer.addEventListener('loadstate', function(evt){
console.info('---------load state---------');
console.info(evt.loadState);
if(evt.loadState == 5){
activityIndicator.show();
}
});
我检查了 API,但是没有答案。你们中有人对此有很好的了解吗?提前致谢!
欢迎。
--已编辑--
好的,可能是我误解了问题,抱歉。在最新版本的Titanium SDK中,API与原生的iOSclassMPMoviePlayerController
对话,可以直接在Apple documentation[=]中查看loadState 16=]
enum {
MPMovieLoadStateUnknown = 0,
MPMovieLoadStatePlayable = 1 << 0,
MPMovieLoadStatePlaythroughOK = 1 << 1,
MPMovieLoadStateStalled = 1 << 2,
};
typedef NSInteger MPMovieLoadState;
此外,您可以查看 Android MediaPlayer API 文档
如果您对实现更感兴趣,请记住,我们是开源的呵呵,然后花点时间直接在 Titanium SDK 存储库上检查 -> here
--
嗯,虽然 videoPlayer API 尚未规范化(也许不会),但您可以通过创建条件流来简单地解决此问题,例如:
videoPlayer.addEventListener('loadstate', function(evt){
if(OS_IOS){...}
else if(OS_ANDROID){...}
else {...}
});
伙计们!我需要你的帮助!最近,我试图将 loadstate 事件监听器添加到视频播放器,但是,当我控制事件时evt 来检查负载状态 我发现 IOS 和Android 平台和意料之外,状态含义也不同。据我所知,
Android 视频播放器的加载状态只有两种:0和1
① 0 加载状态好像是 preloading
②1加载状态好像可以正常播放
IOS 视频播放器的加载状态有四种:1, 2, 3 和 5
我只知道没网就出现状态5
这是我的代码:
var activityIndicator = Ti.UI.createActivityIndicator({
visible: false,
width: Ti.UI.SIZE,
height: Ti.UI.SIZE,
message: 'loading...'
});
videoPlayer.addEventListener('loadstate', function(evt){
console.info('---------load state---------');
console.info(evt.loadState);
if(evt.loadState == 5){
activityIndicator.show();
}
});
我检查了 API,但是没有答案。你们中有人对此有很好的了解吗?提前致谢!
欢迎。
--已编辑--
好的,可能是我误解了问题,抱歉。在最新版本的Titanium SDK中,API与原生的iOSclassMPMoviePlayerController
对话,可以直接在Apple documentation[=]中查看loadState 16=]
enum {
MPMovieLoadStateUnknown = 0,
MPMovieLoadStatePlayable = 1 << 0,
MPMovieLoadStatePlaythroughOK = 1 << 1,
MPMovieLoadStateStalled = 1 << 2,
};
typedef NSInteger MPMovieLoadState;
此外,您可以查看 Android MediaPlayer API 文档
如果您对实现更感兴趣,请记住,我们是开源的呵呵,然后花点时间直接在 Titanium SDK 存储库上检查 -> here
--
嗯,虽然 videoPlayer API 尚未规范化(也许不会),但您可以通过创建条件流来简单地解决此问题,例如:
videoPlayer.addEventListener('loadstate', function(evt){
if(OS_IOS){...}
else if(OS_ANDROID){...}
else {...}
});