簡體   English   中英

Xamarin。 加載mp3以通過MediaPlayer播放時遇到問題:FileNotFoundException

[英]Xamarin. Got an issue with loading mp3 to play via MediaPlayer: FileNotFoundException

我通過Monogame(C#)為Android創建了一個應用程序。 為了減小我的.apk大小,我決定不要使用Content Pipeline進行音頻播放。 我發現我可以將原始mp3與Song.FromUri()方法一起使用。 使用下一個代碼

Song mySong;
//...
mySong = Song.FromUri("track01", new System.Uri("audio.mp3", System.UriKind.Relative));
//...
MediaPlayer.Play(mySong);

我得到了異常“未處理的異常:Java.IO.FileNotFoundException:track01”

MediaPlayer.Play(mySong);

,但主文件夾中有文件“ audio.mp3”。 解決方案截圖

將屬性“生成操作”更改為“無” /“內容” /“ AndroidAsset”,將“復制到輸出目錄”更改為“始終復制”並沒有帶來任何新變化。 我搜索了解決方案,但似乎沒有人遇到相同的問題,或者他們很容易解決了問題。 在這里遇到的唯一類似問題,但他們的解決方案沒有幫助。 您有什么想法可以幫助我嗎? 謝謝。

將音頻文件放入資源中是不可能的嗎?

如果打開項目屬性,應該有一個資源選項卡。 在此選項卡中,您應該能夠添加不同的值(字符串,圖像等),包括音頻文件。 如果您在此處添加了它,那么應該可以通過資源管理器訪問它。

讓我知道這是否可行!

我不確定Song.FromUri方法,但這就是我使用聲音文件的方式。

        var player = new MediaPlayer();
        var fd = global::Android.App.Application.Context.Assets.OpenFd("sounds/Wrong.mp3");
        player.Prepared += (s, e) =>
        {
            player.Start();
        };
        player.SetDataSource(fd.FileDescriptor, fd.StartOffset, fd.Length);
        player.Prepare();

我將Wrong.mp3保留在Assets / sounds文件夾中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM