我有一个闹钟应用程序,我希望用户能够将 YouTube 视频设置为他们的闹钟。问题是 YouTubePlayer 通过音乐流播放,这意味着如果用户在耳机插入智能手机时要 sleep ,他/她将无法听到警报。在 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
权限。
关于android - 是否可以通过 STREAM_ALARM 播放 YouTubePlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45321221/