2015-02-12 11 views
5

Próbuję dodać kontroler multimediów do mojego VideoView. Próbuję wykonać samouczek w tym site.(Kontekst, token) w tworzeniu instancji MediaController

Jednak mam błąd w mojej klasie w tym wierszu.

MediaController mediaController = new MediaController(this); 

Błąd mówi

MediaController (Context, Token) in MediaController cannot be applied to (MainActivity)

Co jest parametrem Token? Minęło trochę czasu, odkąd zakodowałem w natywnym Androidzie i chyba brakowało mi pewnych niezbędnych szczegółów i zmian.

EDIT Szukałem w innym samouczku, tym w linku, jest Made in Android Studio. Mój błąd.

moja klasa

public class MainActivity extends ActionBarActivity { 
public VideoView videoOne; 
@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    videoOne = (VideoView) findViewById(R.id.videoView); 
    videoOne.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video1)); 
    videoOne.start(); 

    MediaController mediaController = new MediaController(this); 
    mediaController.setAnchorView(videoOne); 
    videoOne.setMediaController(mediaController); 

    videoOne.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      Log.i("Video Duration", "Duration = " + videoOne.getDuration()); 
     } 
    }); 
    videoOne.setMediaController(mediaController); 

} 

Odpowiedz

25

Błąd jest dość prosta. Upewnij się, że importujesz poprawną MediaController. Do Twojego celu potrzebujesz tego importu:

import android.widget.MediaController; 

Powyższa klasa ma poszukiwanego konstruktora. Link:

http://developer.android.com/reference/android/widget/MediaController.html#MediaController(android.content.Context)

może być używany jeden poniżej:

import android.media.session.MediaController; 

Nadzieja to pomaga

+0

tak. niewłaściwy import. dzięki. – Jeongbebs

+0

Jeśli odpowiedź zadziałała, zaakceptuj ją i zamknij pytanie – user2511882

0
videoview.setOnPreparedListener(new OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
       mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 
               @Override 
               public void onVideoSizeChanged(MediaPlayer mp, int width, int height) { 
                 /* 
                 * add media controller 
                 */ 
                 mc = new MediaController(YourActivity.this);; 
                 videoview.setMediaController(mc); 
                 /* 
                 * and set its position on screen 
                 */ 
                 mc.setAnchorView(videoview); 
                } 
               }); 
              } 
             }); 
+0

wciąż ten sam. błąd dla parametru tokena. – Jeongbebs

+0

Opublikuj działalność – koutuk

1

I rozwiązać go. I importowane android.media.session.MediaController zamiast android.widget.MediaController

2

ten rozwiązać mój problem 'to'

import import android.widget.MediaController; 
Powiązane problemy