有没有办法在屏幕显示自动或手动关闭时停止mediacontroller暂停。我的应用程序使用mediacontroller从互联网流式传输音频文件,因此即使屏幕关闭,我也需要它继续播放。 任何帮助将不胜感激。
这是我的mediacontroller类的代码:
import android.app.Activity;
import android.content.Context;
import android.view.KeyEvent;
import android.widget.MediaController;
public class WillMediaController extends MediaController {
public WillMediaController(Context context) {
super(context);
}
@Override
public void hide() {
// Do Nothing to show the controller all times
}
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
((Activity) getContext()).finish();
}else{
super.dispatchKeyEvent(event);
}
if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN ||
event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
// don't show the controls for volume adjustment
return super.dispatchKeyEvent(event);
}
return true;
}
}
由于
答案 0 :(得分:0)
我不确定是否有办法阻止MediaController在活动暂停时暂停(即屏幕熄灭时),但我确实有一些想法:
首先,您可以尝试通过以下方式禁止屏幕超时:
getWindow().setFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
然而,这可能不会阻止用户按下锁定按钮并手动关闭屏幕并结束音频播放。
其次,您可以使用MediaPlayer创建服务,以在后台播放音频流,并响应应用中的播放/暂停命令:http://developer.android.com/guide/topics/media/mediaplayer.html#mpandservices