2017-07-26 67 views
7

我有一個鬧鐘應用程序,我希望用戶能夠將YouTube視頻設置爲他們的鬧鐘。問題是YouTubePlayer正在通過音樂流播放,這意味着如果用戶在耳機插入智能手機時要睡覺,他/她將無法聽到鬧鐘。在MediaPlayer的我可以設置使用此行代碼使用手機喇叭報警:是否可以通過STREAM_ALARM播放YouTubePlayer

audioManager.setStreamVolume(AudioManager.STREAM_ALARM, stream_music_volume, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 

是否有可能做同樣與YouTubePlayer或者我已經通過了音樂流播放呢?

回答

2

這是不可能的。您無法更改YoutubePlayer的流類型。
您不允許在後臺播放YouTube視頻。
這就是說,你不應該使用在線資源作爲警報,網絡連接可能不可用。您應該下載媒體文件並使用mediaplayer(可以處理在線資源)並通過setAudioStreamType(AudioManager.STREAM_ALARM)調整流類型。您可以使用adjustVolume或AudioManager的setStreamVolume來調整媒體播放器的音量,但您可能必須獲得MODIFY_AUDIO_SETTINGS權限。請注意,如果您要在後臺將YoutubePlayer用作媒體流,則還應該獲得ACCESS_NOTIFICATION_POLICY權限以覆蓋「請勿播放」功能。

+0

我不是在背景上播放YouTube視頻。我在UI線程上播放它。如果我無法加載視頻我播放設備的默認鈴聲,所以我不認爲應該有任何問題。就像我在這個問題上寫的一樣,我知道如何調整媒體播放器,但爲了在媒體播放器上播放視頻,我需要YouTube視頻rtsp鏈接,我可以獲取但不太確定它可以與YouTube政策。由於我目前還沒有解決方案,我想你的答案是正確的。 – SUXA

0

不確定YouTubePlayer API,但你可以ExoPlayer。該API允許您設置流類型(請參閱issue #755),並且可以播放YouTube視頻。有demo projectyt videos

+0

爲了使用ExpoPlayer,我需要獲得YouTube視頻rtsp鏈接,我不確定它在YouTube策略中是否合法。 – SUXA

+0

我不知道。至少他們提供YT鏈接作爲示例。 – Dodge

0

是的,在接收報警廣播時,可以使用窗口管理器和代碼創建一個小窗口,在其中播放YouTube視頻。

+0

我知道如何播放YouTube視頻。但是,如何通過報警流在YouTubePlayer上播放視頻? – SUXA

相關問題