Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载时如何在chrome android上保持媒体会话通知_Javascript_Html_Audio_Android Mediaplayer_Playlist - Fatal编程技术网

Javascript 加载时如何在chrome android上保持媒体会话通知

Javascript 加载时如何在chrome android上保持媒体会话通知,javascript,html,audio,android-mediaplayer,playlist,Javascript,Html,Audio,Android Mediaplayer,Playlist,我遵循了谷歌指南(),几乎一切都很好。 但有一个不需要的行为:当我更改音频源时(当音频结束或用户单击“下一曲目”时),通知消失,并在音频加载完毕并开始播放时重新出现。 所需的行为是在磁道之间保留媒体通知。有办法吗 我已尝试将navigator.mediaSession.playbackState设置为“播放”,但没有,对我来说没有甜甜圈。这可能不再相关,但我刚刚在自己的音乐播放器中修复了这个问题 这是我在中修复的提交,可能会有所帮助: 基本上,除了第一个audio元素变量外,我还添加了第二个变

我遵循了谷歌指南(),几乎一切都很好。 但有一个不需要的行为:当我更改音频源时(当音频结束或用户单击“下一曲目”时),通知消失,并在音频加载完毕并开始播放时重新出现。 所需的行为是在磁道之间保留媒体通知。有办法吗


我已尝试将navigator.mediaSession.playbackState设置为“播放”,但没有,对我来说没有甜甜圈。

这可能不再相关,但我刚刚在自己的音乐播放器中修复了这个问题

这是我在中修复的提交,可能会有所帮助:

基本上,除了第一个
audio
元素变量外,我还添加了第二个变量
backupAudio
,该变量仅在音频源之间切换时相关。当我加载新曲目时,
backupAudio
audio
内容被交换(
audio
变成
backupAudio
backupAudio
变成
audio
),然后我在
audio
元素上设置src并暂停
backupAudio
元素


这样做可以确保通知按照我的预期工作。不过,对于音频元素上的任何事件侦听器,您都应该小心。我以前在另一个应用程序中实现过这一点,快速跳过曲目可能会导致两首曲目同时播放,我在当前的音乐播放器中修复了这一点。(也别忘了在像我刚才那样更改音频元素时设置两个音频元素的音量)

我过去曾使用两个音频元素来解决这个问题,并预先在辅助音频元素上加载下一首曲目