1

私はAndroidでMediaPlayerをテストするための非常にシンプルなAndroidアプリを作成しました。アプリは一部のAndroidスマートフォンで正常に動作しますが、このアプリはGalaxyNoteでは動作しません。

MediaPlayer mediaPlayer;

protected class SoundPlayer extends AsyncTask<Integer, Void, Void> {
    @Override
    protected Void doInBackground(Integer... params) {
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
        Uri uri = Uri.parse("android.resource://com.example.mediaplayertest/" + params[0]);
        try {
            mediaPlayer.setDataSource(getApplicationContext(), uri);
            mediaPlayer.prepare();
            mediaPlayer.start();
            mediaPlayer.setLooping(false);
        } catch (Exception e) {
            Log.d("MPT", e.getMessage());
        }
        return null;
    }
}   

public void startPlayingSound(View v) {
    soundPlayer = new SoundPlayer();
    try {
        soundPlayer.execute(R.raw.alarm);
    } catch(Exception e) {
        Log.d("MPT", e.getMessage());
    }
}

public void stopPlayingSound(View v) {
    if(mediaPlayer.isPlaying()) {
        mediaPlayer.stop();
    }
}

理由を知っていますか?何かアイデアはありますか?これはGalaxyNoteのバグですか、それとも何か見落としていましたか?

4

1 に答える 1

0

問題: MediaPlayer は、Galaxy Note で WAV サウンド ファイルを再生しません。Galaxy Gio、S、およびsony Xperiaでアプリをテストしましたが、すべて問題ありませんでした.

このリンクに基づいて:

一般的なエラーは次のとおりです。 1. ファイル パスにエラーがあります。不正なディレクトリまたは Url または Uri が見つかりました。2. メディア ファイルにエラーがあり、互換性のない形式です。3. 権限がありません。

最後に、メディア形式が正しくないことがわかりました。メディアファイルを変更して「メモ」すると音が出ました!

于 2012-12-02T08:28:04.800 に答える