(Context, Token) 在实例化 MediaController
(Context, Token) in instantiating MediaController
我正在尝试在我的 VideoView 中添加一个 mediaController。我正在尝试按照 site.
中的教程进行操作
但是,我的class这一行有错误。
MediaController mediaController = new MediaController(this);
错误说,
MediaController (Context, Token) in MediaController cannot be applied to (MainActivity)
Token
参数是什么?自从我使用 Native Android 编写代码以来已经有一段时间了,我想我错过了一些必要的细节和更改。
编辑
我正在查看另一个教程,link 中的教程是在 Android Studio 中制作的。我的错误。
我的Class
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);
}
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);
}
});
}
});
错误非常简单。确保您正在导入正确的 MediaController
。为了您的目的,您需要导入:
import android.widget.MediaController;
上面class有你要找的构造函数。 link:
您可能正在使用下面的一个:
import android.media.session.MediaController;
希望对您有所帮助
我解决了。我导入了 android.media.session.MediaController
而不是 android.widget.MediaController
这个解决了我的 'this' 问题
import import android.widget.MediaController;
我正在尝试在我的 VideoView 中添加一个 mediaController。我正在尝试按照 site.
中的教程进行操作但是,我的class这一行有错误。
MediaController mediaController = new MediaController(this);
错误说,
MediaController (Context, Token) in MediaController cannot be applied to (MainActivity)
Token
参数是什么?自从我使用 Native Android 编写代码以来已经有一段时间了,我想我错过了一些必要的细节和更改。
编辑 我正在查看另一个教程,link 中的教程是在 Android Studio 中制作的。我的错误。
我的Class
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);
}
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);
}
});
}
});
错误非常简单。确保您正在导入正确的 MediaController
。为了您的目的,您需要导入:
import android.widget.MediaController;
上面class有你要找的构造函数。 link:
您可能正在使用下面的一个:
import android.media.session.MediaController;
希望对您有所帮助
我解决了。我导入了 android.media.session.MediaController
而不是 android.widget.MediaController
这个解决了我的 'this' 问题
import import android.widget.MediaController;