我已经在"音乐文件夹"中放置了25个mp3文件。在我的Xamarin.ios项目中。 我调用了Play功能并传入了我想要播放的mp3文件的名称。我创建了一个包含filePath的字符串对象。 然后我创建另一个名为" withFileName"的字符串对象;包含传递给函数的路径和歌曲名称。 withFileName变量看起来是正确的。
当我执行指令时......
songURL = new NSUrl(withFileName);
我收到以下异常......
System.Exception:无法初始化类型' Foundation.NSUrl':本机' initWithString:'方法返回零。通过将MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure设置为false可以忽略此条件。在Foundation.NSO ......
我迷路了,需要一些帮助。
代码段:
public void Play(String song)
{
String dir = Directory.GetCurrentDirectory();
String filePath = Path.Combine(dir, "Music");
String withFileName = String.Format("{0}/{1}", filePath, song);
NSUrl songURL = null;
try
{
songURL = new NSUrl(withFileName);
}
catch (Exception e)
{
string msg = e.Message;
}
NSError err;
_audioPlayer = new AVAudioPlayer( songURL,"Song", out err );
_audioPlayer.Play();
}
答案 0 :(得分:0)
看来你可以在项目中获得正确的文件嵌入路径。然后,如果你想获得文件的网址,你应该使用:
new NSUrl(filePath, false);
//or
NSUrl.FromFilename(filePath)