按下颤振按钮后播放声音的最快方法是什么?



我不太了解Flutter。我不知道怎样才能把声音演奏得最快。我尝试过的最快的方法有250毫秒的延迟。我想做的就是让按钮发出声音。我想我需要做的是缓存音频,但我没有足够的信息。如果你能帮助我,我会很高兴的。

播放已经在资产中定义的文件的简单解决方案是使用AudioCache。图书馆:https://pub.dartlang.org/packages/audioplayers。更多关于AudioCache的信息。导入所需的类:

import 'package:audioplayers/audio_cache.dart';

在相同的文件中添加一个资源,并将带有声音的文件放入assets文件夹(如果你没有这个文件夹,创建一个)

assets:
- assets/sound_alarm.mp3

然后添加以下代码:

static AudioCache player = new AudioCache();
const alarmAudioPath = "sound_alarm.mp3";
player.play(alarmAudioPath);

下面是mortiz的回答的帮助:

pubspec。导入所需的类:

dependencies:
audioplayers: ^0.20.1 # Not "1.0.1". Because audioplayers/audio_cache.dart does not exist.

导入所需类:

import 'package:audioplayers/audioplayers.dart';

在相同的文件中添加一个资源,并将带有声音的文件放入assets文件夹(如果你没有这个文件夹,创建一个)

assets:
- assets/sound_alarm.mp3

然后添加以下代码:

static AudioCache player = new AudioCache();
const alarmAudioPath = "sound_alarm.mp3";

要缓存音频,我们需要在initstate方法中覆盖它:

@override
void initState() {
player.load(alarmAudioPath );
}

然后我们可以用这个函数播放的声音:

player.play(alarmAudioPath );

你可以简单地使用https://pub.dev/packages/flutter_ringtone_player这个包。

FlutterRingtonePlayer。play(from masset: "assets/ringtone.mp3",);
当你想停止声音时,请停止使用

FlutterRingtonePlayer.stop ();

我在执行可接受的答案时遇到错误,与@melih-hakan-pekta相同。根据chatGPT,这是因为audioplayer包改变了audiocache的使用方式。下面的GPT解决方案为我工作…

从GPT:您遇到的错误似乎是由于audioplayers包中的AudioCache类的弃用。AudioCacheAPI现在主要用于将资产文件转换为本地文件,缓存它们,并提供路径。但是,最终用户通常不需要使用它,因为AudioPlayer本身现在能够播放来自任何来源的音频,包括:

  • UrlSource:从Internet远程URL获取音频
  • DeviceFileSource:访问用户设备上的文件
  • AssetSource:播放与应用绑定的资源
  • BytesSource:直接传入音频的字节数【18†来源】。

一个建议的解决方案是使用AudioPlayer类而不是AudioCache。下面是一个示例:

import 'package:audioplayers/audioplayers.dart';
final player = AudioPlayer();
player.play(AssetSource('note1.wav'));

或者,如果你要触发按键的声音,你可以使用TextButton小部件:

child: TextButton(
onPressed: () async {
final player = AudioPlayer();
await player.play(
AssetSource('note1.wav'),
);
},
child: Text("Play me"),
),

请记住将'note1.wav'替换为声音文件的路径,在您的例子中是'sounds/beep-record-pause.mp3'【19†source】【20†source】。

此外,确保您的audioplayers包更新到AudioCache已弃用的版本(帖子建议版本^1.0.1),并相应地调整您的pubspec.yaml文件:

dependencies:
audioplayers: ^1.0.1

请将1.0.1替换为audioplayers包的最新版本【18†source】。

如果你需要进一步的帮助,请告诉我!

相关内容

  • 没有找到相关文章

最新更新