音频播放器播放不一致/奇怪的音频(URL MP3链接)导致颤振



按照以下说明进行操作: https://codingwithjoe.com/playing-audio-from-the-web-and-http/(使用他的示例和 AudioProvider 类(

我一直在使用:

audioplayer: ^0.8.1
audioplayer_web: ^0.7.1

以播放来自 HTTPS 链接的音频。

这个问题它有一些奇怪的不一致效果。 - 播放少量音频后,即使加载了新的URL,它也会继续播放相同的音频 - 播放少量音频后,声音很奇怪,就像某些部分被其他音频切断一样。

什么是好的音频播放器,它接受颤振的 url 链接可以产生一致的结果?

您的示例中提供的音频播放器效果很好,并且具有良好的功能。从您为我描述的内容来看,当您播放声音时,您似乎没有关闭会话。似乎您正在堆叠导致奇怪声音的声音。

然后,您必须关闭该实例。 尽管这篇文章已经过时(2018 年 3 月(,但 Audioplayer 已经进一步发展。 在此处查看他们的官方指南:

https://pub.dev/packages/audioplayer

这是audioplayer 0.8.1版本,而不是 3.0 或其他版本..

文档中的示例:

Instantiate an AudioPlayer instance
//...
AudioPlayer audioPlugin = AudioPlayer();
//...

播放器控件:

audioPlayer.play(url);
audioPlayer.pause();
audioPlayer.stop();

现状和当前职位:

//...
_positionSubscription = audioPlayer.onAudioPositionChanged.listen(
(p) => setState(() => position = p)
);
_audioPlayerStateSubscription = audioPlayer.onPlayerStateChanged.listen((s) {
if (s == AudioPlayerState.PLAYING) {
setState(() => duration = audioPlayer.duration);
} else if (s == AudioPlayerState.STOPPED) {
onComplete();
setState(() {
position = duration;
});
}
}, onError: (msg) {
setState(() {
playerState = PlayerState.stopped;
duration = new Duration(seconds: 0);
position = new Duration(seconds: 0);
});
});

就像我说的,大多数音频插件都在单例模式下运行。为了提供奇怪的效果,您必须在同一实例中加载下一首歌曲,不要打开另一个新实例,并且不会获得任何奇怪的效果。

如果您想切换到不同的音频播放器,我在应用程序项目中使用的另一个很棒的播放器如下:

https://pub.dev/packages/audio_manager#-readme-tab-

希望对您有所帮助。

最新更新