gpt4 book ai didi

Android AudioFlinger 服务器死了 |媒体服务器死了

转载 作者:行者123 更新时间:2023-11-29 01:48:09 25 4
gpt4 key购买 nike

我正在尝试在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com