我想在Android 5中使用新的MediaController,而不是旧RemoteController来获取当前的赛道和更改轨道. 我找不到任何例子,所以我自己尝试了. 要获得当前MediaController,我实现了一个扩展MediaController.Callback并实现MediaSessionManager.OnActiveSessionsChangedListener的类. 使用此方法,我尝试获得当前mediaController: @Override public void onActiveSessionsChanged(List mediaControllers) { Log.i(Util.LOG_TAG, "sessions changed"); if (mediaControllers != null && !mediaControllers.isEmpty()) { th
以下是关于 mediacontroller 的编程技术问答
我试图使用ExoPlayer,而不是MediaPlayer,我似乎无法弄清楚... 在 我该如何使用ExoPlayer进行操作?我尝试做seekTo(1287),但是它没有开始播放...之后我还添加了.setPlayWhenReady(true),但仍然没有运气... 我能够.stop() ...但是,除非我再次.prepare()再次开始玩,否和玩. 我正在使用自己的控件和方法,反对MediaController在exoplayer演示中...我看不到如何实现控件... 有人建议吗? 编辑: 好吧,我想出了暂停并开始... .setPlayWhenReady(true) // start .setPlayWhenReady(false) // pause 但是我仍然在跟踪方面遇到问题... .seekTo间歇性地工作...有时它有效...但是其他时候我会遇到此错误: E/AudioTrack: AudioTrack::set : Exi
ive实施了传输MP3 URL的MediaPlayer和MediaController.但是,我在Tmobile网络上的设备没有获得出色的3G信号,因此它在边缘上运行.我假设媒体播放器由于流太慢或不完整而崩溃,我可以设置超时吗? 解决方案 broadcastreceiver 代码看起来像: public class ConnectivityCheckingReceiver extends WakefulBroadcastReceiver { private AlarmManager alarmManager; private PendingIntent pendingIntent; @Override public void onReceive(Context context, Intent intent) { if (MusicService.mediaPlayer != null) { if (!MusicServi
视频在下面提到的代码中无法正常工作.有什么问题? MediaController mediaController = new MediaController(getBaseContext()); mediaController.setAnchorView(videoweb); Uri video = Uri.parse("http://www.youtube.com/v/wwI2w2YHkCQ?fs=1"); videoweb.setMediaController(mediaController); videoweb.setVideoURI(video); videoweb.start(); 错误: 无法播放视频 对不起,这个视频无法播放. 解决方案 您提供的链接http://www.youtube.com/v/wwI2w2YHkCQ?fs=1用于HTML页面.为setVideoURI()提供的URI应该是一个媒体文件,例如视频无法解析HTML页面.它只能解码
我有一个通过MediaPlayer作为服务播放广播的应用程序.是否可以在服务类中使用MediaController? 问题是我可以使用FindViewById. 我试图在Onpeared Methiod中获得线度延迟... public class RadioPlayer extends Service implements OnPreparedListener, MediaController.MediaPlayerControl { @Override public void onCreate() { super.onCreate(); mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setOnPreparedListener(this); mediaController = new M
我正在尝试设置一个DLNA控制器来控制 IPUSH渲染器设备. ipush Renderer设备 iPhone DLNA控制器甚至本地飞行器都可以很好地搭配使用.它几乎支持所有视频文件格式.我的DLNA控制器可以与我在到目前为止对其进行测试的所有设备(WDTV,Intels Media Renderer,Xbox360和许多其他iPhone渲染器)一起使用,除了 ipush渲染器设备. 当我使用upnplid.dll [upnp 1.0类型库(控制点)]时,我得到了所有渲染器,包括ipush UPnPDeviceFinder finder = new UPnPDeviceFinder(); UPnPDevices devs = finder.FindByType(type, 0); 接下来,当我尝试通过ipush的服务迭代时,我会得到" comexception(0x80040501)" foreach (var service in device.Servic
嗨,大家好,我想将视频自动播放和循环放在滑块中,但有些不是在Chrome和Safari上玩的方式.我发现Webkit浏览器的错误在重新设计时会停止视频自动播放函数... 这是视频和页面. (在Firefox上工作) http://dustintong.com/project.com/projects.html#ts 我认为您必须重新触发.play() 不知道我做错了什么. JavaScript的新手... 这是下面的代码. JS var myVideo = document.querySelector('video'); var mediaController = myVideo.controller; mediaController.play(); html
解决方案 在Safa
Android后退按钮在视频中播放视频时不起作用.但它在播放视频之前工作.我正在使用自定义MediaController进行VideoView. 我尝试使用 dispatchkeyEvent ,它不起作用. 正在使用VideoView的活动准则: mc = new CustomMediaController(mVideo.getContext(), screenIcon) { @Override public void hide(){ } @Override public boolean dispatchKeyEvent(KeyEvent event){ if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { super.hide(); ((Activity) getContext()).finish(); return true; } re
我知道如何控制后退按钮.我有一个VideoView嵌入在FrameLayout中.我的问题是当视频弹出时,视频控件存在几秒钟.击中后按按钮,同时可见隐藏视频控件.有没有办法忽略该函数并执行下一个返回操作,就像视频控件都不可见? 我问的原因是如果我真的想回去,我必须击中后背两次;有一次隐藏控件和第二个实际回到 解决方案 基于源代码,这应该是工作: 扩展MediaController(出于此答案的目的,称为RonnieMediaController) 在RonnieMediaController 中覆盖dispatchKeyEvent() 在链接到超类之前,检查KeyEvent.KEYCODE_BACK,如果遇到,则将您的活动置于finish() . 使用RonnieMediaController而不是MediaController与您的VideoView 亲自,我只是留下它,因为这种改变,你的用户不能让你的用户消失. 其他解决方案 您可以简单地写:
如何讨论如何定位MediaController,大多数答案是使用setAnchorView -method.在第一次浏览这个解决方案似乎工作但在我的情况下它没有. 根据这个仅作为初始定位的参考,但实际上在顶部创建一个新的浮动Window. 所以我想要的是MediaController,它是真的绑定到父级View(例如VideoView). 例如,如果在ScrollView中有一个LinearLayout,则必须向下滚动到您的MediaController附加到MediaController,MediaController应该真的附加到这个VideoView因此MediaController滚动以及VideoView. 讨论此问题的另一个用例所以如何实现MediaController的这种行为? 解决方案 我通过做一个肮脏的黑客结束了......我只是手动将视图连接到我的videoView以实现想要的行为: public void onPrepared
我正在使用这个代码,但是当我尝试在下载视频期间播放视频时,视频_VIVEVELL显示我无法播放视频 private String videoPath="http://codechair.com/video/1496139752333.mp4"; private String outFilePath="/sdcard/file_name_soniji.mp4"; //My Mobile Ip private String serverPath="10.92.234.117"; private VideoDownloadAndPlayService videoService; public class Testing extends AppCompatActivity { VideoView videoView; MediaController mediaController; @Override prot
在我的Android应用程序中,我正面临着MediaController的seekbar的问题,我正在使用Videoview. 我想知道用户是否申请大于缓冲位置的位置,我需要显示一个对话框,然后解雇寻求完成的对话. 如果我能解决这个问题,请告诉我. 解决方案 mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar arg0) { // you can check for the current buffer state and where the use seek using mSeekBar.getProgress() and then open up a dialog. if(condition to match buffering and
iam无法暂停/向前/向后使用 mediacontroller ,并且它仅在LG设备中发生.下面是我正在使用的代码,它在所有设备的其余部分工作: VideoView video=(VideoView)findViewById(R.id.video); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(video); video.setMediaController(mediaController); video.setVideoURI(uri); video.start(); 请帮帮我. 解决方案 最后我找到了一个解决方案... 在某些LG设备中,默认控制在VideoView中禁用. 因此,我们必须通过在VideoView中覆盖以下函数来显式启用它们: @Override pub
我有一个VideoView,当视频开始时,媒体控制器显示为3秒钟.除非我点击屏幕,否则我想隐藏媒体控制器.我尝试了 MediaController mc= new MediaController(); mc.hide(); Videoview.setMediaController(mc); .. .. .. 但它不起作用..请问任何建议吗? 解决方案 这不是隐藏MediaController的解决方案,但如果你想完全摆脱这件事,请执行以下操作: videoView.setMediaController(null); 您可以通过执行上述功能来拥有它,然后当您希望它显示(onclick或Ontouch或其他)时,只需制作新的MediaController并将其设置为VideoView.我添加了一个布尔值,以防止操作不止一次. @Override public boolean onTouchEvent(MotionEvent ev) { if (ev.
MediaController始终显示在屏幕中的所有视图之上,并且不会通过点击到以下视图,直到隐藏,我的问题是: 如何在MediaController的顶部添加按钮视图,以便句子单击事件? 要么 如何通过点击事件到以下视图? 解决方案 尝试覆盖MediaController. dispatchtouchevent() 它适合您的任务更好,请参阅我的答案在这里详细说明为什么. 代码将如下所示: public class MyMediaController extends MediaController { ... private WeakReference mButton; // TODO You'll have to call this whenever the layout might have been rebuilt // i.e. in onCreate() of your activity (or
下午好/早上!希望有人能帮助我带来一个小问题.我正在使用VideoView和自定义MediaController播放远程.mp3文件. 我的MediaController看起来像这样: 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
我的视频工作正常,但我无法控制它.我无法看到播放或暂停按钮.我需要播放或暂停按钮.MediaController无法正常工作.我使用此代码 import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.Display; import android.view.WindowManager; import android.widget.MediaController; import android.widget.VideoView; public class avid extends Activity { private String path = "http://techslides.com/demos/sample-videos/small.mp4"; private VideoView video_view_; /**
我需要在Android中获取我的活动的VideoView的高度,我正在使用以下命令,但它给了我高度为0. VideoView vv = (VideoView)findViewById(R.id.video1); String surl="SOME_LINK.mp4"; Uri uri=Uri.parse(surl); MediaController mc = new MediaController(this); vv.setVideoURI(uri); vv.setMediaController(mc); mc.setMediaPlayer(vv); mc.setAnchorView(vv); int vvHeight=vv.getMeasuredHeight(); Log.d("VideoView Height:",vvHeight+""); // Th