- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在用户等待 VideoView 开始播放 HLS 时向他展示一些 ProgressDialog。我尝试为此使用 OnPreparedListener,但他提前触发(播放器下载 m3u8 文件后,而不是视频开始时)。
VideoView player = (VideoView) findViewById(R.id.player);
String httpLiveUrl = "http://example.com/playlist.m3u8";
player.setVideoURI(Uri.parse(httpLiveUrl));
player.setMediaController(new MediaController(this));
player.requestFocus();
player.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
progress.dismiss();
}
});
progress.show();
player.start();
我没有找到另一个合适的监听器...可能有人知道 sloution 吗?
最佳答案
感谢大家。我用下一个 hack 解决了我的问题:
videoView.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
final Handler handler = new Handler();
videoPositionThread = new Runnable() {
public void run() {
try {
int duration = videoView.getCurrentPosition();
if (!(videoPosition == duration && videoView.isPlaying())) {
progress.dismiss();
}
videoPosition = duration;
handler.postDelayed(videoPositionThread, 1000);
} catch (IllegalArgumentException e) {
Log.d(TAG, e.getMessage(), e);
}
}
};
handler.postDelayed(videoPositionThread, 0);
}
});
关于android - VideoView 为 HLS 过早触发 OnPreparedListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13831473/
我的测试代码: int SIZE = 1900; int[][] array = new int[SIZE][]; for (int i = 0; i < SIZE; i++) { array[i
我有一堆 WAV 文件和一个将它们复制到另一个目录的脚本,但使用 SoX 处理了一些文件。输出的文件都应该有 1 个 channel ,采样率不超过 44.1khz。我的大多数文件要么有一个以上的 c
我正在运行一个相当占用内存的 Python 脚本,但似乎我的机器正在提前终止进程。我安装了 16GB(并通过 lshw -class memory 确认),但我的进程似乎在使用量达到 4GB 左右时被
我很难确定在使用 .NET 的 HttpWebRequest 类调用远程服务器(特别是 REST Web 服务)时是否有办法处理潜在的连接问题。根据我的调查,WebClient 类的行为是相同的,这在
所以我有这个网址: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/ 这是 URL 编码版本: http://test.
我是一名优秀的程序员,十分优秀!