(Context, Token) 在实例化 MediaController
Posted
技术标签:
【中文标题】(Context, Token) 在实例化 MediaController【英文标题】:(Context, Token) in instantiating MediaController 【发布时间】:2015-02-12 05:58:01 【问题描述】:我正在尝试在我的 VideoView 中添加一个 mediaController。我正在尝试按照site 中的教程进行操作。
但是,我的班级在这一行中有一个错误。
MediaController mediaController = new MediaController(this);
错误说,
MediaController (Context, Token) in MediaController cannot be applied to (MainActivity)
Token
参数是什么?自从我使用 Native android 编码以来已经有一段时间了,我想我错过了一些必要的细节和更改。
编辑 我正在查看另一个教程,链接中的那个是在 Android Studio 中制作的。我的错误。
我的班级
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);
【问题讨论】:
【参考方案1】:错误非常简单。确保您正在导入正确的MediaController
。为了您的目的,您需要此导入:
import android.widget.MediaController;
上面的类有你正在寻找的构造函数。链接:
http://developer.android.com/reference/android/widget/MediaController.html#MediaController(android.content.Context)
您可能正在使用以下一种:
import android.media.session.MediaController;
希望对你有帮助
【讨论】:
【参考方案2】:这个解决了我的“这个”问题
import import android.widget.MediaController;
【讨论】:
【参考方案3】:我解决了。我导入了android.media.session.MediaController
而不是android.widget.MediaController
【讨论】:
【参考方案4】: 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);
);
);
【讨论】:
以上是关于(Context, Token) 在实例化 MediaController的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalArgumentException:无法实例化接口 org.springframework.context.ApplicationListener
运行spring boot应用报错:无法实例化接口org.springframework.context.ApplicationListener
线程“主”java.lang.IllegalArgumentException 中的异常:无法实例化接口 org.springframework.context.ApplicationListener