android webview中的音乐的暂停与播放
2015-08-20 16:33
447 查看
前段时间有这样一个需求,webview显示一个带音乐的网页,在播放音乐的时候进入第三方软件暂停播放,返回时继续播放。后来参考了两篇文章解决了这个问题。
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
OnAudioFocusChangeListener
listener = new OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
DebugLog.d(TAG, "onAudioFocusChange: "
+ focusChange);
}
}
在onPause方法中执行了如下代码(把播放音乐的焦点拿走):
int i =0;
do {
int result = audioManager.requestAudioFocus( listener
, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
DebugLog.d(TAG, "I get Audio right: ");
break;
}
i++;
} while (i < 10);
在onResume方法中执行如下代码(释放拿走的焦点):
if (audioManager!= null) {
audioManager.abandonAudioFocus(listener);
audioManager = null;
}
在执行以上两段代码时,有需要加上判断:
if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.ECLAIR_MR1){
return;
}
参考的两篇文章:
http://blog.csdn.net/u013478336/article/details/40826673 http://blog.csdn.net/shuaicike/article/details/39930823
以上代码也是参考了两篇文章,只取了我需要的部分
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
OnAudioFocusChangeListener
listener = new OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
DebugLog.d(TAG, "onAudioFocusChange: "
+ focusChange);
}
}
在onPause方法中执行了如下代码(把播放音乐的焦点拿走):
int i =0;
do {
int result = audioManager.requestAudioFocus( listener
, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
DebugLog.d(TAG, "I get Audio right: ");
break;
}
i++;
} while (i < 10);
在onResume方法中执行如下代码(释放拿走的焦点):
if (audioManager!= null) {
audioManager.abandonAudioFocus(listener);
audioManager = null;
}
在执行以上两段代码时,有需要加上判断:
if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.ECLAIR_MR1){
return;
}
参考的两篇文章:
http://blog.csdn.net/u013478336/article/details/40826673 http://blog.csdn.net/shuaicike/article/details/39930823
以上代码也是参考了两篇文章,只取了我需要的部分
相关文章推荐
- Objective-c之NSArray(NSMutableArray)
- ios delegate 使用注意 assign,weak
- 关于cocos2dx编写的游戏由vs2013项目打包成apk文件
- (13)[Xamarin.Android] 不同分辨率下的图片使用概论
- android webview js alert对话框 不能弹出 解决办法
- (12)Visual Studio 2012如何透过电子邮件部署Xamarin.Android App
- WebView注入Java对象注意事项
- (11)Xamarin.iOS - 新增iPhone storyboard
- Swift学习笔记(十)附属脚本
- Cocos2d-x Lua 阅读Csv文件,使用数据更方便
- 性能优化:使用SparseArray代替HashMap<Integer,Object>
- (10)Xamarin.Android - 储存数据于Windows Azure
- 性能优化:使用SparseArray代替HashMap<Integer,Object>
- android 点滴——XML
- (7) 引用Objective-C class library
- (6)Xamarin.android google map v2
- 实现Android播放声音资源的一个简单的工具类
- [Unity]Unity开发NGUI代码实现ScrollView(放大视图)
- cocos2dx 3.0 环境搭建
- Cocos2d-x 3.2中的三种缓存类