メディアプレーヤーでAndroidプロジェクトのファイルを使用する

Aug 23 2020

ここに画像の説明を入力してくださいMediaPlayer。を使用して記事を再生するための専用のモバイルアプリケーションがあります。私は個々の文の間に一時停止を設定しようとしていますが、null referenceを取得し続けるpausesPlayerので、私のmp3ファイルにアクセスするのはdroid project from shared project間違っているに違いありません。メインアクティビティなしでdroidでファイルにアクセスする方法についての経験はありますか?

MediaPlayer.Create(MainActivity.Instance, Resource.Raw.silent_1);

public static void SetPauseBetweenSentences(int timeout)
{
    lock (syncRoot)
    {
        pausesPlayer = new MediaPlayer();
        if (timeout != 0)
        {
            switch (timeout)
            {
                case 1:
                    pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("AT.Droid/Resources/raw/silent_1"));
                    break;
                case 2:
                    pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("AT.Droid/Resources/raw/silent_2"));
                    break;
                case 3:
                    pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("AT.Droid/Resources/raw/silent_3"));
                    break;
                case 4:
                    pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("AT.Droid/Resources/raw/silent_4"));
                    break;
                case 5:
                    pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("AT.Droid/Resources/raw/silent_5"));
                    break;
            }
            pausesPlayer.Start();
        }
    }
}

私が試してみました

pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("android.resource://AT.Droid/Resources/raw/silent_1"));
    

そして

pausesPlayer = MediaPlayer.Create(Android.App.Application.Context, Android.Net.Uri.Parse("android.resource://AT/Resources/raw/silent_1"));

回答

JackHua-MSFT Aug 24 2020 at 05:48

ドキュメントから、次を使用できます。

特定のリソースIDに対してMediaPlayerを作成するための便利なメソッド。

public static Android.Media.MediaPlayer Create (Android.Content.Context context, int resid);

そしてあなたの場合、それは次のとおりです。

MediaPlayer player = MediaPlayer.Create(this, Resource.Raw.silent_1);

その他の解決策については、このスレッドをご覧ください。

更新