我正在为我的网站制作Android应用程序。它有一些有点像播客的视频。我希望应用程序能够在用户锁定屏幕或使用其他应用程序时在后台播放音频。为了达到这个目的,我有一个WebView。为了提供上述功能,我尝试在活动中使用PARTIAL_WAKE_LOCK。当屏幕被锁定时,这只会继续播放音频,而不会在按下主屏幕按钮(即在后台)时播放音频。有没有解决这个问题的方法?在后台制作WebView音频播放
回答
如果您希望您的应用程序继续运行音频即使是在后台,你必须在Separate Service.
该服务将继续运行,即使该应用程序运行的媒体播放器切换到后台或者回来。 如果应用程序被杀死,您甚至可以编写粘性服务以保持运行(前景为true)。
但我认为你不能在单独的服务线程中运行WebView,因为它是一个UI元素。 –
@NathanMatthews你是否在onPause方法的某处暂停该音频。理想情况下,如果您刚刚按下主页按钮,它应该继续播放。 –
粘滞服务工作。谢谢 –
你应该使用Android服务,在这个例子中播放音乐无关的activity.Please样子的:
这里是我的Android服务类:
class MusicService extends Service implements OnCompletionListener {
MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
mediaPlayer = MediaPlayer.create(this, R.raw.s);// raw/s.mp3
mediaPlayer.setOnCompletionListener(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
}
return START_STICKY;
}
public void onDestroy() {
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.release();
}
public void onCompletion(MediaPlayer _mediaPlayer) {
stopSelf();
}
}
下面是活动时间:
public class MusicActivity extends Activity implements OnClickListener {
Button startPlaybackButton, stopPlaybackButton;
Intent playbackServiceIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startPlaybackButton = (Button) this.findViewById(R.id.StartPlaybackButton);
stopPlaybackButton = (Button) this.findViewById(R.id.StopPlaybackButton);
startPlaybackButton.setOnClickListener(this);
stopPlaybackButton.setOnClickListener(this);
playbackServiceIntent = new Intent(this,MusicService.class);
}
public void onClick(View v) {
if (v == startPlaybackButton) {
startService(playbackServiceIntent);
finish();
} else if (v == stopPlaybackButton) {
stopService(playbackServiceIntent);
finish();
}
}
}
请不要忘记在清单文件中添加该服务:
<service android:enabled="true" android:name=".services.MusicService" />
我期待在webview上播放视频并继续在后台播放音频。 –
- 1. 在后台播放音频
- 2. 在后台播放音频(iPhone OS 4.0)
- 3. 在后台播放音频 - windows芒果
- 4. 在后台播放音频流的MPMoviePlayerController
- 5. 音频不会在后台播放(iOS)
- 6. 如何在后台播放音频
- 7. iPhone停止在后台播放音频
- 8. iOS MPMoviePlayerController在后台播放音频
- 9. 如何在后台播放音频?
- 10. iPhone:Phonegap:在后台播放音频
- 11. 在后台播放MPMoviePlayerController音频流
- 12. 在后台播放音频(Windows 8)
- 13. Swift在后台播放音频播放列表
- 14. iphone:在后台播放音频播放列表?
- 15. Emacs + moc(控制台音频播放器)
- 16. 在后台播放音频不工作在iOS模拟器
- 17. 在播放其他音频时制作音频静音
- 18. 使用音频播放视频后录制音频和视频
- 19. 如何在url被加载到webview时在后台播放音频?
- 20. iOS4和后台播放过程中的音频播放
- 21. 用于后台播放的流式音频播放器
- 22. 当应用程序在后台播放音频或声音
- 23. 在webview中播放音乐,而应用程序在后台
- 24. iOS 8在10分钟后停止在后台播放音频
- 25. 使用javascript播放音频的Android WebView
- 26. Phonegap Android Webview Video只播放音频
- 27. 在播放声音时录制音频
- 28. C++在控制台应用程序中播放视频音频
- 29. 向后播放音频
- 30. 如何制作音频自动播放
我正在为媒体播放器播放音频获取答案。我正在寻找在webview上播放视频并继续在后台播放音频。 –
感谢您的帮助!无论如何,我使用服务修复了它。 –
我已经实现了一个单独的服务来运行webView,我仍然有这个问题。有没有更多的线索如何正确地做到这一点? – aquawicket