Xamarin Android - 通过电子邮件,WhatsApp,蓝牙等分享mp3文件

时间:2017-01-13 22:38:48

标签: c# android visual-studio xamarin xamarin.android

我正在开发(使用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..."));
}

提前致谢!

0 个答案:

没有答案