繁体   English   中英

Flutter iOS 存储音频不播放音频播放器、颤音和仅音频

[英]Flutter iOS Storage audio doesnt Play with audioplayer, fluttersound and just audio

我正在开发一个可以录制语音并从存储中播放的应用程序。 我已经尝试了所有这些软件包,并且仅在真正的 iOS 设备上出现错误。 在仿真器方面,ios 也没有问题。 我正在用 flutter flutter_sound录制音频。

目录是

tempDir = await getTemporaryDirectory();

记录;

  startRecorderx(
  FlutterSoundRecorder flutterSoundRecorder, Directory? tempDir) async {
log(tempDir!.path.toString());
PermissionStatus status;
try {
  status = await Permission.microphone.request();
} catch (e) {
  throw e;
}
log(tempDir.path.toString());

if (status != PermissionStatus.granted)
  throw RecordingPermissionException("You must give acces to mic");
pathToRecord =
    "${tempDir.path}/${DateTime.now().millisecondsSinceEpoch.toString()}.aac";

await flutterSoundRecorder.startRecorder(
  toFile: "$pathToRecord",
  codec: Codec.aacADTS,
);

}

然后我无法从路径 netiher 3 包音频播放器flutter_sound播放此文件。

     play(path) async {
    File file = File(path);
    Uint8List bytes =  file.readAsBytesSync();
     await audio.play(path);
    //log(result.toString());
    /* await flutterSoundPlayer.startPlayer(
       //fromURI: "$path",
       fromDataBuffer: bytes,
     ) ;*/
    update();
  }

我只收到来自flutter_sound的错误。

PlatformException (PlatformException(Audio Player, startPlayer failure, null, null))

路径的问题。 iOS 总是返回不同的路径。 我猜他们为“安全”掩盖了目录的路径。 如果您要存储文件的完整路径,您可以使用 function 获得真实路径,这是我的情况,您的路径的子串取决于您的情况,请注意您的情况;

applicationDocumentDirectory 保存文件的位置; /Users/alperenbaskaya/Library/Developer/CoreSimulator/Devices/D3C845C6-D8CE-40FA-9060-1D8062E7F597/data/Containers/Data/Application/17501EFE-57A4-4C71-8C4C-58BBC57D1177/Documents/1661040154934.jpg

那么我的操作就是这样;

  Future<String> getCurrentUrl(String url)async{
    if(Platform.isIOS){
    String a = url.substring(url.indexOf("Documents/") + 10, url.length) ;
    Directory dir = await getApplicationDocumentsDirectory();
    a = "${dir.path}/$a";
    return a;
    }
    else{
      return url;
    }
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM