0

私は緊張しています...誰かが私に言うことができます、なぜ次のコードは機能したくないのですか?

public class MyService extends Service {

    private MediaPlayer player;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        player = MediaPlayer.create(this, R.raw.audio);
        player.setWakeMode(getApplicationContext(),
                PowerManager.PARTIAL_WAKE_LOCK);
        player.setVolume(1f, 1f);
        player.start();

//other stuff here, which run perfectly...

オーディオファイルがあります、私はwakelock権限を持っています(それなしでは機能しません...)。エラーメッセージはありません。残りのコードは問題ありませんが、.......プレーヤーは何も再生していません。それが私の脳の血管をスナップする前に私を助けてください!

編集:いくつかの詳細情報:オーディオは.mp3形式、77kb / s

4

1 に答える 1

0

解決策:静的メソッドを呼び出すMediaPlayer p = Mediaplayer.create(this, filenameため、次のように記述する必要があります。これにより、は保存されないp.create新しいインスタンスが返されます。MediaPlayer次に、start()デフォルトで構築されたインスタンスを呼び出したため、機能しませんでした。

于 2013-04-16T11:38:45.230 に答える