admin管理员组文章数量:1279008
My App is made in Flutter/Dart. I am Using Just_Audio Package from Pub.dev The app works fine on web test, but in Phone/Physical Device test it is not playing sound, its a **launchpad **app which play a tone on a button click, can anyone go through and tell me what is wrong?
File Structure: Lib and Asset folders are in same level inside project directory
launchPad /
assets/
- Soundlib /
Pubspec.yaml:
dependencies:
just_audio: ^0.9.46
assets:
- assets/
Main.dart:
import 'package:flutter/material.dart';
import 'home_page.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "LaunchPad",
debugShowCheckedModeBanner: false,
home: SafeArea(
child: Scaffold(
backgroundColor: Color(0xff333333),
appBar: AppBar(
backgroundColor: Color(0xff333333),
title: Text(
"LaunchPad",
style: TextStyle(
fontFamily: "Pacifico",
color: Colors.white,
),
),
),
body: HomePage(),
),
),
);
}
}
HomePage.dart
import 'package:flutter/material.dart';
import 'package:just_audio/just_audio.dart';
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
final List noteList = [
"sound/1.mp3",
"sound/2.mp3",
"sound/3.mp3",
"sound/5.mp3",
"sound/6.mp3",
"sound/4.mp3",
"sound/7.mp3",
"sound/8.mp3",
"sound/9.mp3",
"sound/10.mp3",
"sound/11.mp3",
"sound/12.mp3",
"sound/13.mp3",
"sound/14.mp3",
"sound/15.mp3",
"sound/16.mp3",
"sound/17.mp3",
"sound/18.mp3",
"sound/19.mp3",
"sound/20.wav",
"sound/21.mp3",
"sound/22.wav",
"sound/23.wav",
"sound/24.wav",
"sound/25.wav",
"sound/26.wav",
"sound/27.wav",
"sound/28.wav"
];
List radialGradientList = [
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffff2525), Color(0xffc40050)]),
RadialGradient(colors: [Color(0xffADCBFC), Color(0xff067CCB)]),
RadialGradient(colors: [Color(0xffE247FC), Color(0xffA23AB7)]),
];
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: GridView.builder(
itemCount: noteList.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 4, mainAxisSpacing: 8, crossAxisSpacing: 8),
itemBuilder: (context, index) {
return Pad(noteList[index].toString(), radialGradientList[index]);
},
),
);
}
}
class Pad extends StatefulWidget {
final note;
final radialGradiant;
const Pad(this.note, this.radialGradiant, {super.key});
@override
State<Pad> createState() => _PadState();
}
class _PadState extends State<Pad> {
late String _note;
late RadialGradient _radialGradient;
@override
void initState() {
_note = widget.note;
_radialGradient = widget.radialGradiant;
super.initState();
}
@override
Widget build(BuildContext context) {
var radialGradientDefault = RadialGradient(
colors: [Colors.white, Colors.white],
);
final player = AudioPlayer();
return GestureDetector(
onTap: () async {
setState(() {
_radialGradient = radialGradientDefault;
player.setAsset(_note);
player.play();
});
await Future.delayed(
const Duration(milliseconds: 500),
);
setState(() {
_radialGradient = widget.radialGradiant;
});
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
gradient: _radialGradient,
),
),
);
}
}
- Additional Notes: Trying to run App on Android device tested Samsung Galaxy S21Ultra, since I have windows OS and IOS testing not possible
Running App on Web Test Works Fine
Searched internet was told to Ask for user Permission for Microphone
but to play music we don't need Microphone
本文标签: androidFlutter Audio Playback Issue on Physical DeviceHow do I fix itStack Overflow
版权声明:本文标题:android - Flutter Audio Playback Issue on Physical Device - How do I fix it? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741262180a2367831.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论