- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Android 设备上开发一个 hls 播放器,并且我有一些可以玩的测试流。我遇到的一个问题是 HLS 流只是“停止”,在一些随机位置卡住,可能是 1 分钟后,也可能是 20 分钟后。我得到的错误是:
11-20 14:14:10.484:W/AudioSystem(18531):AudioFlinger 服务器死机了!11-20 14:14:10.484: W/IMediaDeathNotifier(18531): 媒体服务器死了
和11-20 14:14:10.484: E/MediaPlayer(18531): 错误 (100,0)
如果发生这种情况,我基本上不知道如何阻止或重新启动流。我什至不知道为什么会这样。所以如果有人能回答这个问题,我会很高兴 :)。
// Create a new media player and set the listeners
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
mMediaPlayer.reset();
return false;
}
});
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
//mMediaPlayer.prepare();
if(extras.getString("type") == "VOD") {
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
}
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setScreenOnWhilePlaying(true);
//mMediaPlayer.setOnVideoSizeChangedListener(this);
//mcontroller = new MediaController(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
public void onPrepared(MediaPlayer mediaplayer) {
Log.d(TAG, "onPrepared called");
mIsVideoReadyToBePlayed = true;
if (mIsVideoReadyToBePlayed) {
runOnUiThread(new Runnable() {
public void run() {
startVideoPlayback();
}
});
}
mcontroller = new MediaController(this);
mcontroller.setMediaPlayer(this);
mcontroller.setAnchorView(findViewById(R.id.surface));
mcontroller.setEnabled(true);
handler.post(new Runnable() {
public void run() {
mcontroller.setEnabled(true);
mcontroller.show();
}
});
}
请告知您是否需要更多代码。
最佳答案
我认为这正是它所说的:网络问题使 MediaPlayer
认为服务器关闭了连接。
对于 HTTP 流式传输,我建议在设备上安装一个简单的代理服务器,这样您就可以更好地控制发送给播放器的数据。 Apache 库本身很容易使用,或者您可以选择像 Naga 这样的轻量级包装器。 .如果出现此类错误,您可以在您停止的确切字节处发出重新连接请求。还有其他好处,比如如果需要可以缓存数据,但控制远程通信提供了一定程度的自由,这是 MediaPlayer
无法提供的。
供将来引用的注意事项:此答案对 HLS 不利。查看评论。
关于Android AudioFlinger 服务器死了 |媒体服务器死了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097512/
我有类似下面的代码: ... id: myComponent signal updateState() property variant modelList: [] Repeater { mo
我正在处理一些我无法展示的私有(private)代码,但我已经制作了一些示例代码来描述我的问题: 主.c: #include #include #include #include typede
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: what are the differences in die() and exit() in PHP? 我想
在编写 Perl 模块时,在模块内部使用 croak/die 是一个好习惯吗? 毕竟,如果调用者不使用 eval block ,模块可能会使调用它的程序崩溃。 在这些情况下,最佳做法是什么? 最佳答案
我有一些搜索线程正在存储结果。我知道当线程启动时,JVM native 代码会代理在操作系统上创建新 native 线程的请求。这需要 JVM 之外的一些内存。当线程终止并且我保留对它的引用并将其用作
我刚刚花了很多时间调试一个我追溯到 wantarray() 的问题。 .我已将其提炼为这个测试用例。 (忽略 $! 在这种情况下不会有任何有用信息的事实)。我想知道为什么wantarray在第二个示例
我看到一些代码是这样做的: if(something){ echo 'exit from program'; die; } ...more code 和其他只使用 die 的人: if
我正在尝试将此表格用于: 如果任何 $_POST 变量等于任何其他 $_POST 变量抛出错误。 如果只有几个,那不是问题,但我有大约 20 个左右所以如果我想这样做,我将不得不像这样 但这
每次我运行: hadoop dfsadmin -report 我得到以下输出: Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS
我是一名优秀的程序员,十分优秀!