2013-03-23 15 views
6

İyi öğleden sonra/sabah! Birinin bana sahip olduğum küçük bir problemle yardımcı olabileceğini ummak. Bir VideoView ve özel bir MediaController kullanarak uzak bir .mp3 dosyası oynuyorum.Android VideoView Playback Kontrolleri Başlangıçta "Pause" yerine "Play" Oynatsa bile Dosya Zaten Oynuyor

Benim MediaController şuna benzer:

public class MyMediaController extends MediaController { 

public MyMediaController(Context context) { 
    super(context);  
} 

// Do nothing on the overridden hide method so the playback controls will never go away. 
@Override 
public void hide() { 

} 

// Override the dispatchKeyEvent function to capture the back KeyEvent and tell the activity to finish. 
@Override 
public boolean dispatchKeyEvent(KeyEvent event) 
{ 
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) 
    { 
     ((Activity) getContext()).finish(); 
    } 

    return super.dispatchKeyEvent(event); 
} 

}

Ve kodumu benim VideoView takmak için şuna benzer:

VideoView videoView = (VideoView) findViewById(R.id.VideoView); 

    // Use our own media controller, which inherits from the standard one. Do this to keep 
    // playback controls from disappearing. 
    mediaController = new MyMediaController(this); 
    mediaController.setAnchorView(videoView); 

    Uri video = Uri.parse(URL); 

    videoView.setMediaController(mediaController); 
    videoView.setVideoURI(video); 

    // Set a handler that will show the playback controls as soon as audio starts. 
    videoView.setOnPreparedListener(new OnPreparedListener() { 

     @Override 
     public void onPrepared(MediaPlayer arg0) { 

      mediaController.show(); 
     } 

    }); 

    videoView.start(); 

I having olmasıdır .mp3 dosyası oynatılmaya başladığında, altta bulunan kontrol çubuğu, ses bir arada olsa da, "Duraklat" düğmesi yerine (iki paralel çubuk) "Oynat" düğmesine (yani üçgen) sahiptir. oynuyorsun. Bunu nasıl düzelteceğini bilen var mı?

DÜZENLEME 1:

Ben de uzak bir .mp3 oynamak için başka çözümlere ilgi duyarım. Sahip olduğum tek şart, kullanıcının sesi duraklatabileceği/çalabileceği ve ses dosyasının (başlık) adının ne olduğunu da görebiliyor olmasıdır.

Teşekkür ederiz!

+2

Bunu çözdünüz mü? –

+0

Bu Sorunu Çözdünüz – iAviatorJose

cevap

0

Basitçe:

@Override 
     public void onPrepared(MediaPlayer arg0) { 

     if (mediaController.isShowing==false) {mediaController.show();} 
     } 
3

Bu deneyin: Bu benim için Sorunu çözdük.

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
     mMediaController.show(); 
    } 
});