我是 Flutter 開發的新手,我被困在一個程式中,我想通過從檔案管理器中選擇它來播放音頻檔案。我可以從檔案管理器中打開音頻檔案,但我不知道如何播放該音頻檔案。這個你能幫我嗎。
uj5u.com熱心網友回復:
您可以使用
并在您的 yaml 檔案中添加參考并獲取依賴項
assets:
- assets/audio/
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart';
class AudioManagerExample extends StatefulWidget {
const AudioManagerExample({required this.audioName, Key? key}) : super(key: key);
final String audioName;
@override
_AudioManagerExampleState createState() => _AudioManagerExampleState();
}
class _AudioManagerExampleState extends State<AudioManagerExample> {
AudioPlayer audioPlayer = AudioPlayer();
late AudioCache audioCache;
@override
void initState() {
audioCache = AudioCache(fixedPlayer: audioPlayer);
audioCache.load('audio/${widget.audioName}.mp3');
super.initState();
}
@override
void dispose() {
audioCache.clearAll();
audioPlayer.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
setState(() {
audioCache.play('audio/${widget.audioName}.mp3');
});
},
child: Text('Play ${widget.audioName}'),
),
ElevatedButton(
onPressed: () {
setState(() {
audioPlayer.pause();
});
},
child: Text('Pause ${widget.audioName}'),
),
ElevatedButton(
onPressed: () {
setState(() {
audioPlayer.stop();
});
},
child: Text('Stop ${widget.audioName}'),
),
],
);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/374713.html
上一篇:如何從Flutter中的網格視圖計數訪問生成串列中的特定單元格?
下一篇:Flutter:json_serializable型別'_InternalLinkedHashMap<Object?,Object?>'不是型別'Map<
