Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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
C# Unity3D通过Whatsapp发送音频剪辑_C#_Unity3d - Fatal编程技术网

C# Unity3D通过Whatsapp发送音频剪辑

C# Unity3D通过Whatsapp发送音频剪辑,c#,unity3d,C#,Unity3d,我正在开发一个应用程序功能,以便能够将应用程序中的声音传递给whatsapp。我已经取得了一些进展,但我一直在获取音频剪辑的字节数组 所以我需要从resources文件夹中获取音频剪辑,并将其写入我给出的路径,然后将其发送到whatsapp 这会得到一个错误 FormatException:长度无效。 System.Convert.FromBase64String(System.String s)(at/Users/builduser/buildslave/mono/build/mcs/cla

我正在开发一个应用程序功能,以便能够将应用程序中的声音传递给whatsapp。我已经取得了一些进展,但我一直在获取音频剪辑的字节数组

所以我需要从resources文件夹中获取音频剪辑,并将其写入我给出的路径,然后将其发送到whatsapp

这会得到一个错误

FormatException:长度无效。 System.Convert.FromBase64String(System.String s)(at/Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Convert.cs:146)

void sendprocess()
{
字符串s=Resources.Load(“Bava”).ToString();
字节[]dataToSave=System.Convert.FromBase64String;
字符串destination=Path.Combine(Application.persistentDataPath,System.DateTime.Now.ToString(“yyyy-MM-dd-HHmmss”)+“.mp3”);
File.writealBytes(目的地,dataToSave);
if(!Application.isEditor)
{
//实例化类意图
AndroidJavaClass intentClass=新的AndroidJavaClass(“android.content.Intent”);
AndroidJavaObject intentObject=新的AndroidJavaObject(“android.content.Intent”);
intentObject.Call(“setAction”,intentClass.GetStatic(“ACTION_SEND”);
//实例化类Uri
AndroidJavaClass uriClass=新的AndroidJavaClass(“android.net.Uri”);
AndroidJavaObject uriObject=uriClass.CallStatic(“解析”,“文件:/”+目的地”);
//使用文件的uri对象调用putExtra
intentObject.Call(“putExtra”,intentClass.GetStatic(“EXTRA_流”),uriObject);
intentObject.Call(“setType”、“audio/mp3”);
//实例化类UnityPlayer
AndroidJavaClass unity=新的AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
//实例化对象currentActivity
AndroidJavaObject currentActivity=unity.GetStatic(“currentActivity”);
//把我们的意图称为活动
调用(“startActivity”,intentObject);
}
}
提前感谢。

在下面的行中-

string s = Resources.Load<AudioClip>("Bava").ToString();

然后,您可以使用BinaryWriter或BitConverter将
样本
数组转换为其字节表示形式以供进一步使用。

这对我来说非常适合

 Application.OpenURL("whatsapp://send?phone=9999878653&text=[hello]");

所以您的问题是
如何将音频转换为Base64?
。另外,把你的代码放在问题中,而不是图片中。是的,这是我遇到困难的部分,我添加了代码,对不起,我是新来的。
AudioClip clip = Resources.Load<AudioClip>("Bava")
float[] samples = new float[clip.samples * clip.channels];
clip.GetData(samples, 0);
 Application.OpenURL("whatsapp://send?phone=9999878653&text=[hello]");