在我的处理设备上播放视频

时间:2015-09-04 14:56:24

标签: android-mediaplayer wear-os

我写了一个基本代码来播放视频。该代码正在我的手机上运行:

@Override
public void surfaceCreated(SurfaceHolder holder) {
    Log.d(TAG, "surface created");
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

    try {

        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"a.wmv");
        Log.d(TAG,file.getPath());
        mp.setDataSource("/storage/emulated/0/Download/a.wmv");
        mp.setOnPreparedListener(MainActivity.this); //Une fois le buffer pret
        mp.setOnErrorListener(MainActivity.this); //gestion des erreurs

        mp.setDisplay(holder);
        mp.prepareAsync(); //Peut prendre du temps (buffering)!

    } catch (IOException e) {
        Log.e(TAG, "error " + e.getMessage());
        e.printStackTrace();
    }
}

@Override
public void onPrepared(MediaPlayer mp) {
    int videoWidth = mp.getVideoWidth();
    int videoHeight = mp.getVideoHeight();

    int screenWidth = getWindowManager().getDefaultDisplay().getWidth();

    android.view.ViewGroup.LayoutParams lp = mSurfaceView.getLayoutParams();

    //Set the width of the SurfaceView to the width of the screen
    lp.width = screenWidth;
    lp.height = (int) (((float)videoHeight / (float)videoWidth) * (float)screenWidth);
    mSurfaceView.setLayoutParams(lp);

    mp.start();
}

当我尝试在我的android可穿戴设备上使用它时,我有以下错误:

setDataSourceFD failed.: status=0x80000000

是否可以链接到我的Android可穿戴设备上不支持的编解码器问题?

1 个答案:

答案 0 :(得分:0)

可穿戴设备上没有硬件支持的编解码器,因此如果您确实需要播放类似的内容,则需要编写软件解码器,由于资源有限,可能效果不佳。