Angular 更改曲目后html音频元素缓冲区严重不足

Angular 更改曲目后html音频元素缓冲区严重不足,angular,streaming,mp3,html5-audio,Angular,Streaming,Mp3,Html5 Audio,我已经做了一个有角度5的音乐播放器。播放器可以播放Spotify、Youtube和上传的MP3文件。问题是MP3文件。用户可以将MP3文件上传到云。上载和流式处理的后端使用.NETCore完成。在此之后,用户可以使用player播放它们。播放器正在使用html音频元素播放MP3文件。曲目在播放列表中,因此当一首曲目结束时,将自动播放下一首曲目。音频元素发送结束事件时,轨道结束,然后我决定新的轨道。它可以是MP3文件、Spotify曲目或YouTube视频。通常它是列表中的下一个曲目,但用户可以使

我已经做了一个有角度5的音乐播放器。播放器可以播放Spotify、Youtube和上传的MP3文件。问题是MP3文件。用户可以将MP3文件上传到云。上载和流式处理的后端使用.NETCore完成。在此之后,用户可以使用player播放它们。播放器正在使用html音频元素播放MP3文件。曲目在播放列表中,因此当一首曲目结束时,将自动播放下一首曲目。音频元素发送结束事件时,轨道结束,然后我决定新的轨道。它可以是MP3文件、Spotify曲目或YouTube视频。通常它是列表中的下一个曲目,但用户可以使用shuffle。所以,下一个曲目是在曲目结束时决定的。使用Chrome桌面浏览器时,一切正常。在Android上使用Chrome时,一切都正常工作,用户界面一直在显示。当用户使用Chrome for Android并关闭屏幕时出现问题。音乐继续播放当前曲目直到结束,曲目将切换到下一个曲目并开始播放。有一段时间,下一条赛道继续发挥良好,但随后它开始停止并继续。它将是固定的,只有当我选择新的轨道使用用户界面。所以,当我再次打开UI时,停止并继续将继续。所以,在没有用户交互的情况下,音频源被换成新的音频源后,音频元素的缓冲效果似乎很差

相关前端代码在这里


我应该使用load()方法还是需要它?

尝试停止Ngondestry()上的HTML音频对象,我看到您取消了很多东西的订阅,但没有看到您停止播放器,因此音乐将一直播放,直到垃圾收集器清除它为止。所以,尝试手动操作。是的,它应该继续播放。这是用户可以关闭手机屏幕,继续听音乐的一点。所以问题是,当屏幕关闭时,曲目改变,音乐开始停止,几秒钟后继续。我想当我发生的时候,它会跟踪我。但这种缓冲行为只有在Android使用Chrome且屏幕关闭时才会发生。哦,我明白了,所以这是一个功能,我想这是你的问题。那么,在当前歌曲结束并继续播放下一首之后,在开始时遇到麻烦之后,它是否继续播放?当屏幕关闭时,下一个曲目开始播放时,开始播放时播放效果良好,但过了一段时间后开始剪切。因此,它将继续播放,但听一直被切断的音乐很烦人。这可能是由于canPlayThrough事件的问题,您可以在此处找到更多信息:,TL;灾难恢复-在实际文件准备就绪之前触发“就绪”事件,由于连接速度较低,因此在移动设备中更易感知。