- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在构建一个录制和播放视频的应用程序。我想在不影响背景音乐播放的情况下这样做,即如果我开始播放视频,我不想暂停其他应用程序的音频。但是,在 Lollipop 上,当调用私有(private)方法 VideoView.openVideo()
时,Android 的 VideoView 类会自动请求音频焦点:
AudioManager am = (AudioManager) super.getSystemService(name);
am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
关于如何解决这个问题有什么建议吗?
最佳答案
从 Android SDK 26 开始,您可能需要使用 VideoView
和
if(Build.VERSION.SDK_INT >= Build.Version_CODES.O){
//set this BEFORE start playback
videoView.setAudioFocusRequest(AudioManager.AUDIOFOCUS_NONE)
}
对于旧版本,这里有一个解决方法:https://stackoverflow.com/a/31569930/993439
基本上,复制 VideoView
的源代码并取消注释以下行
AudioManager am = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
关于android - 播放视频时禁用Android的VideoView requestAudioFocus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119955/
我是 Android 和 Java 的新手。我一直在使用 Android Developer 和其他网站提供的 MediaPlayer 和 AudioManager 示例。 我注意到,对于 reque
我正在构建一个录制和播放视频的应用程序。我想在不影响背景音乐播放的情况下这样做,即如果我开始播放视频,我不想暂停其他应用程序的音频。但是,在 Lollipop 上,当调用私有(private)方法 V
我目前正在为一个培训应用程序实现 AudioHelper,它可以在您的培训类(class)中播放一些励志演讲。所以基本上,如果正在进行演讲,我想避开我的 spotify 音频,以便清楚地听到演讲。对于
我的 Android 应用程序需要支持 Android 平台 2.1.x(即 Android API 级别 7)。我需要使用 requestAudioFocus() 和 abandonAudioFoc
我是一名优秀的程序员,十分优秀!