我有一个闹钟应用程序,我希望用户能够将YouTube视频设置为闹钟.问题是YouTubePlayer正在通过音乐流播放,这意味着如果用户在耳机插入智能手机时要进入睡眠状态,他/她将无法听到警报.在MediaPlayer上,我可以使用以下代码行设置闹钟以使用手机扬声器:
audioManager.setStreamVolume(AudioManager.STREAM_ALARM,stream_music_volume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
是否有可能对YouTubePlayer做同样的事情,或者我必须通过音乐流播放它?
解决方法
这不可能.您无法更改YoutubePlayer的流类型. 您无权在后台播放YouTube视频. 也就是说,您不应该使用在线资源作为警报,网络连接可能无法使用.您应该下载媒体文件并使用媒体播放器(可以处理在线资源)并通过setAudioStreamType(AudioManager.STREAM_ALARM)调整流类型.您可以使用adjustVolume或AudioManager的setStreamVolume调整媒体播放器的音量,但您可能必须获得MODIFY_AUdio_SETTINGS权限.请注意,如果您要在后台使用YoutubePlayer作为媒体流,您还应获得ACCESS_NOTIFICATION_POLICY权限以覆盖Do Not Dirturb功能.