Issue
I would like to know if there is any way to change the default click sound in Flutter, like replace it.
I have this floatingActionButton:
floatingActionButton: SpeedDial(
animatedIcon: AnimatedIcons.menu_close,
backgroundColor: Colors.purple,
children: [
SpeedDialChild(
child: const Icon(Icons.person),
label: "Perfil",
onTap: () => {
playSound(),
Navigator.push(context,
MaterialPageRoute(builder: (context) => Profile())),
}),
],
),
And them i Have the function playSound():
void playSound() {
final player = AudioCache();
player.play("audio/buttonSound.mp3", mode: PlayerMode.LOW_LATENCY);
}
But this does not replace the default sound of the floatingActionButton. It plays after the button click sound.
enter image description here
Solution
I did like it by this way, it works. Could you launch your program in browser? Do you remember to add the folder in which you stored that MP3 into the pubspec.yaml?
If it still doesn't resolve your problem, you need to check the error message from Logcat. (Fig1 is the example to let you know where the Logcat it)
Please change the parameter of "enableFeedback: false". The sound will be removed.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- images/
- audios/
class _ItemDetailsScrrentState extends State<ItemDetailsScrrent> {
AudioCache audioCache = AudioCache();
// void playSound() {
// final player = AudioCache();
// player.play("../audios/0125.mp3");
// }
floatingActionButton: FloatingActionButton.extended(
enableFeedback: false,
onPressed: () {
// playSound();
audioCache.play(
'../audios/0125.mp3',
mode: PlayerMode.LOW_LATENCY,
);
print('ttt');
// Add your onPressed code here!
},
label: const Text('Approve'),
icon: const Icon(Icons.thumb_up),
backgroundColor: Colors.pink,
),
Answered By - Frederic Chang
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.