Im建立mediaplayer的作業和使用Xamarin IDE。 Xamarin中的MainActivity文件有extern .cs。這意味着C#文件,我遇到了一些麻煩。 我需要從SD卡獲取數據。但是當我實現這一點時,我有例外「SetDataSource失敗」。 幫幫我。從Xamarin IDE的SD卡讀取.mp3文件
namespace PlayMusic
{
[Activity (Label = "PlayMusic", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button play = FindViewById<Button> (Resource.Id.play_btn);
//MediaPlayer mp = MediaPlayer.Create (this, Resource.Raw.anniver);
MediaPlayer mp = new MediaPlayer();
var directory = Android.OS.Environment.ExternalStorageDirectory;
var fullFileName = Path.Combine(directory.ToString(), "anniver.mp3");
mp.SetDataSource (fullFileName);
play.Click += delegate {
try{
mp.Start();
}
catch(Exception e)
{
e.StackTrace.ToString();
}
};
}
}
}
結果fullFileName = 「/storage/sdcard0/anniver.mp3」 但是當IED去的setDataSource(..)語句,有異常IOException異常,而失敗的setDataSource。 我檢查了anniver.mp3。那麼好。
有人幫助我:'( –