我正在开发(使用Xamarin)Android应用程序来播放和分享预加载的音频文件。
我在原始文件夹(在资源'中)有一些 mp3文件,我可以在媒体播放器中播放这样做:
protected override void OnStart()
{
base.OnStart();
gBtnName1 = FindViewById<Button>(Resource.Id.btn1);
gBtnName1.Click += GBtnName1_Click;
gBtnName1.LongClick += GBtnName1_LongClick;
}
当用户点击BtnName1(例如)时,以下方法在设备的媒体播放器中播放mp3文件。
private void GBtnName1_Click(object sender, EventArgs e)
{
player = MediaPlayer.Create(this, Resource.Raw.Name1);
player.Start();
}
这工作得很好! :)
这个想法是当用户长按按钮时,为用户提供分享音频的可能性(通过电子邮件,WhatsApp等),但我还没有设法制作这些mp3文件可从应用程序外部访问:'(
任何人都可以帮助我吗?我知道我要将原始文件夹中的mp3文件复制到手机内存中,但我不知道该怎么做!
private void GBtnName1_LongClick(object sender, View.LongClickEventArgs e)
{
//Get the mp3 file from resources and save it to the external storage.
//Once I have the "public Uri" use Intent.CreateChooser
//to share this file via Email, WhatsApp, Bluetooth, etc.
var sharingIntent = new Intent();
sharingIntent.SetAction(Intent.ActionSend);
sharingIntent.SetType("audio/mp3");
sharingIntent.PutExtra(Intent.ExtraStream, publicUri);
sharingIntent.AddFlags(ActivityFlags.GrantReadUriPermission);
StartActivity(Intent.CreateChooser(sharingIntent, "Share using..."));
}
提前致谢!