Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何将应用程序中的语音文件(mpeg)共享到Flatter中的其他应用程序(如whatsapp)_Flutter_Dart_Share_Sharefile - Fatal编程技术网

Flutter 如何将应用程序中的语音文件(mpeg)共享到Flatter中的其他应用程序(如whatsapp)

Flutter 如何将应用程序中的语音文件(mpeg)共享到Flatter中的其他应用程序(如whatsapp),flutter,dart,share,sharefile,Flutter,Dart,Share,Sharefile,我尝试了FlatterShare2.0.1 pluggin来共享语音文件,但没有成功(没有这样的文件)。您能解决这个问题吗?或者我如何将语音文件共享到其他应用程序?这是我的代码和错误截图 如错误所述,assets/voices/pırt.mpeg不是操作系统上文件的有效路径。这是一项资产,打包到您的应用程序中。如果要共享资产,首先需要将其设置为设备上的文件 您需要添加路径\提供程序依赖项: 依赖项: 路径\提供程序:^2.0.1 然后,创建一个新的文件,并将数据从资产写入文件: //获取目

我尝试了FlatterShare2.0.1 pluggin来共享语音文件,但没有成功(没有这样的文件)。您能解决这个问题吗?或者我如何将语音文件共享到其他应用程序?这是我的代码和错误截图




如错误所述,
assets/voices/pırt.mpeg
不是操作系统上文件的有效路径。这是一项资产,打包到您的应用程序中。如果要共享资产,首先需要将其设置为设备上的文件

您需要添加路径\提供程序依赖项:

依赖项:
路径\提供程序:^2.0.1
然后,创建一个新的
文件
,并将数据从资产写入
文件

//获取目录并生成文件对象
final Directory=await getTemporaryDirectory();
最终文件=文件(dir.path+'/mpeg_data');
//从资产中获取数据
ByteData data=wait rootBundle.load('assets/voices/pırt.mpeg');
//写入实际数据
wait file.writeAsBytes(data.buffer.asUint8List());
这些都应该在您共享文件之前完成。然后,在共享文件时,使用创建的文件对象的路径:

//获取目录并生成文件对象
final Directory=await getTemporaryDirectory();
最终文件=文件(dir.path);
//从资产中获取数据
ByteData data=wait rootBundle.load('assets/voices/pırt.mpeg');
//写入实际数据
wait file.writeAsBytes(data.buffer.asUint8List());
试一试{
Share.shareFiles([file.path],文本:“Share”);
}
捕获(ex){
印刷品(ex);
}

错误应该以文本形式复制粘贴到您的问题中,就像您的代码一样。不是像图片一样。谢谢:)你知道我的问题解决方案吗?我不知道“谢谢”是如何回应我之前的评论的。在你得到答案之前,你必须解决我说的问题。“谢谢你”回答了我的错误。我不知道这一点,你们教了我一些东西:)这通常意味着用新知识采取某种行动。我看到你现在编辑的错误。这是预期的。
E/flatter(32083):[ERROR:flatter/lib/ui/ui_dart_state.cc(186)]未处理的异常:FileSystemException:无法打开文件,路径='/data/user/0/com.example.replik/cache'(操作系统错误:是一个目录,errno=21)E/flatter(32083):#0(file.open。(dart:io/file_impl.dart:356:9)E/flatter(32083):#1_rootrunnary(dart:async/zone.dart:1362:47)E/flatter(32083):#2_CustomZone.runnary(dart:async/zone.dart:1265:19)
我尝试了你的解决方案。我想这可以解决我的问题,但又出现了另一个问题。@MuhammetKorkmaz我忘记添加文件名了。请参阅编辑。感谢您的帮助。
E/flutter (31567): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(assets/voices/pırt.mpeg (No such file or directory), null, null, null)
E/flutter (31567): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:597:7)
E/flutter (31567): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158:18)
IconButton(
              icon: Icon(Icons.send),
              color: Colors.black,
              iconSize: 35,
              onPressed: () {
                try{
                  Share.shareFiles(["assets/voices/pırt.mpeg"],text: "Share");
                }
                catch(ex){
                  print(ex);
                }
              },
            ),