制作Unity Android Native Media Player插件

问题描述 投票:-1回答:1

我正在制作一个统一的本地android mediaplayer插件,一切正常,该插件正确加载,并且参数正确传递给了该插件,即使播放器启动了,但似乎没有播放任何声音,没有声音。源代码是:

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);
    }
}
        }
android unity3d android-unity-plugin
1个回答
0
投票
好吧,经过一些修改后,我更改了代码,现在它可以作为基本的统一android native mediaplayer插件工作了。代码如下:

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(); } }); } }

© www.soinside.com 2019 - 2024. All rights reserved.