0

Unity用のネイティブAndroidメディアプレーヤープラグインを作成しています。すべて正常に動作し、プラグインが正しくロードされ、パラメーターがプラグインに正しく渡され、プレーヤーが起動しても、何も再生されていないようで、音が出ません.ソースコードは次のとおりです。

package com.bluedreamcatcher.nativemediaplayerplugin;

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.util.Log;


import java.io.IOException;

public class NativeMediaPlayer {

public MediaPlayer mediaPlayer;
public void StreamMedia(String URL) {
    Log.d("Unity",URL);

     mediaPlayer = new MediaPlayer();

    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    try {

        mediaPlayer.setDataSource(URL);

        mediaPlayer.prepareAsync();

        try {

            mediaPlayer.start();

        }catch (Exception ex){
            Log.d("Unity",ex.getMessage());
        }

        if(mediaPlayer.isPlaying()){
            Log.d("Unity","playing");
        }
    } catch (Exception eX) {
        String error;
        error = eX.toString();
        Log.d("Unity",error);
    }
}
        }
4

1 に答える 1

0

さて、いくつかの変更を加えた後、コードを変更したところ、基本的な unity android ネイティブ メディア プレーヤー プラグインとして機能するようになりました。コードは次のとおりです。

package com.bluedreamcatcher.nativemediaplayerplugin;

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.util.Log;

public class NativeMediaPlayer {
public MediaPlayer mediaPlayer;
public void StreamMedia(String URL) {
    Log.d("Unity",URL);
     mediaPlayer = new MediaPlayer();
    try {
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setDataSource(URL);
        mediaPlayer.prepareAsync();

    } catch (Exception eX) {
        String error;
        error = eX.toString();
        Log.d("Unity",error);

    }
    mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
        public void onPrepared(MediaPlayer mp) {
            mp.start();
        }
    });

}

}
于 2020-01-04T13:49:18.307 に答える