android - 是否可以通过 STREAM_ALARM 播放 YouTubePlayer

标签 android youtube-api

我有一个闹钟应用程序,我希望用户能够将 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/

相关文章:

Android xamarin visual studio 错误 : 'System.Configuration.dll'

android - 以编程方式关闭首选项 header

javascript - YouTube 视频播放完毕后未关闭

javascript - Youtube API setvolume 在 iOS 上不工作?

python - Youtube上传API卡端

java - Android 开发和 TDD

android - 十亿像素图像 Android 应用

android - Android Studio和gradle的构建速度很慢,与此同时该怎么办?

javascript - Youtube API V3 通过 URL 获取视频详细信息

html - Youtube 订阅按钮垂直对齐