1

広告+音声+広告を再生するストリームプログラムを作りました。最初の広告を正常に再生し、オーディオに切り替えてから、最後の広告の再生に失敗し、エラー (38,0) が発生します。私はデータソース、onPrepareListenerを設定したことを確認し、これまでに見つけたすべてのことを試しましたが、Android 4.1.1でまだこのエラーが発生していますメソッドMPStartingの後にエラーが発生し、最終的な広告のためだけにonPreparedメソッドに到達しません.もっと情報が必要な場合は、お知らせください。ここに関連するコードの部分があります

MPStarting(Track)
{    try
{   
    if (_playlist !=null && _playlist.GetCurrent() != null)
    {                   
        Episode ep = (Episode) _playlist.GetCurrent();
        _player = new MediaPlayer();
        AdsInfo startAd = ep.getAdWithType(PlayTime.start_ad);
        AdsInfo endAd = ep.getAdWithType(PlayTime.end_ad);
        if(currAudio == null && startAd != null)
            currAudio = startAd;
        else if(currAudio == startAd )
            currAudio = ep;
        else if (currAudio instanceof Episode && endAd != null)
            currAudio = ep.getAdWithType(PlayTime.end_ad);
    }
    if(_player != null)
    {
        _player.setDataSource(dataSource);
        _player.setOnPreparedListener(this);
        _player.setOnCompletionListener(this);
        _player.setOnBufferingUpdateListener(this);
        _player.setOnSeekCompleteListener(this);
        _player.setOnErrorListener(this);           
        _player.prepareAsync();
    }

    catch (Exception e) 
    {
        Log.i("mpcPlayer","MPStarting "+ e.getLocalizedMessage());
    } 

}
}
@Override
public void onCompletion(MediaPlayer mp) 
{
//here i check on current playing
//i always stop player if it is playing ,reset,release and make player = null
// then i call MPStarting and i send the current audio then return
}
4

1 に答える 1

0

私は自分の問題を見つけたと思います.時々 getCurrentPosition() を呼び出していましたが、その時点でプレーヤーの準備ができていなかったようです.このエラーは、プレーヤーが正しい状態にないときにメソッドを呼び出すことに関するものだと思います.

于 2015-06-08T09:29:08.640 に答える