标签: mediacontroller

使用YouTube的媒体播放器?

我正在开发一个示例应用程序使用MediaPlayer.By使用原始资源文件夹,视频可以播放.但我想玩.我URL怎么能实现这一点?

我的代码是:

VideoView videoView = (VideoView) findViewById(R.id.VideoView);
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        // Set video link (mp4 format )
        Uri video = Uri.parse("http://www.youtube.com/watch?v=T1Wgp3mLa_E");
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();
Run Code Online (Sandbox Code Playgroud)

youtube android mediacontroller android-videoview

7
推荐指数
1
解决办法
1万
查看次数

视频无法在Android中播放

视频在下面提到的代码中无法正常工作.这可能是什么问题?

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();
Run Code Online (Sandbox Code Playgroud)

错误:

无法播放视频
抱歉,此视频无法播放.

android media-player mediacontroller

7
推荐指数
1
解决办法
1914
查看次数

exoplayer示例上的自定义UI

**如果你不知道什么,我真的需要帮助不给我一个负面的观点:| 如果有什么事情打扰你评论**

我想在Exoplayer中为我的播放器编写自定义UI(更改暂停播放按钮或添加播放器速度等新按钮等).

我使用来自github的Exoplayer示例,在将代码添加到我的原始项目之前,我想在官方示例上测试自定义UI.

我在Stackoverflow中读取页面并关于自定义UI但我真的很困惑!

为什么改变一些按钮图像或改变它们的位置必须如此困难:)我怎么能处理这个?

编辑

这是示例 https://github.com/google/ExoPlayer/tree/master/demo

我读了这两篇文章:

http://www.brightec.co.uk/ideas/custom-android-media-controller

http://code.tutsplus.com/tutorials/create-a-music-player-on-android-user-controls--mobile-22787

根据这个链接 "而不是从头开始编写自己的媒体控制器,你可以从Android中包含的MediaController类开始"我问这个问题,因为我无法在exoplayer库上执行此步骤,并且教程是为默认编写的媒体播放器

android mediacontroller exoplayer

7
推荐指数
3
解决办法
2万
查看次数

Android媒体控制器显示短时间显示

以下活动工作正常,但只有当我点击屏幕时,mediaController才会显示.第二个问题是媒体控制器显示仅持续3秒.我该怎么做才能解决这个问题?

public class PlayingActivity extends Activity
{

    private VideoView mVideoView;
    private EditText mPath;
    MediaController mediaController;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.playingactivity);
        mPath = (EditText) findViewById(R.id.path);
        mPath.setText(GlobalVariable.getstrEmail());
        mVideoView = (VideoView) findViewById(R.id.surface_view);
        Uri uri = Uri.parse("/sdcard/download/test.mp3");
        mediaController = new MediaController(this);
        mediaController.findFocus();
        mediaController.setEnabled(true);
        mediaController.show(0);
        mediaController.setAnchorView(mVideoView);
        mVideoView.setMediaController(mediaController);
        mVideoView.setVideoURI(uri);
        mVideoView.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

android mediacontroller

6
推荐指数
1
解决办法
8156
查看次数

在VideoView中将MediaController保留在屏幕上

在使用VideoView时,我无法找到将MediaController保留在屏幕上的方法.我想在我的应用程序中播放res/raw中的音频文件.该文件正在播放,但我想将控制器保留在屏幕上,以便用户查看文件的长度以及在结束之前剩余的时间等.我在论坛上发现很多时间我们应该使用该方法.show (时间)为了做到这一点,但我无法弄清楚如何使它工作.

这是我正在使用的代码:

package com.sample.VideoViewExample;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.widget.MediaController;
import android.widget.VideoView;

public class VideoViewExample extends Activity implements SurfaceHolder.Callback{
   private VideoView mVideoView;
   private MediaController mMedia;

   @Override
   public void onCreate(Bundle icicle) {
     super.onCreate(icicle);
     setContentView(R.layout.main);

     mVideoView = (VideoView) findViewById(R.id.surface_view);
     //mVideoView.getHolder().addCallback(this);
     //mMedia.show(50000);
     //mVideoView.setMediaController(mMedia);

     MediaController mMedia = new MediaController(this);
     mMedia.setMediaPlayer(mVideoView);
     mMedia.setAnchorView(mVideoView);
     mVideoView.setMediaController(mMedia);

     mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.osa_patient)); 

     mVideoView.requestFocus();
     mVideoView.start();

   }

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
        int height) {
    // TODO Auto-generated method stub

}

@Override
public …
Run Code Online (Sandbox Code Playgroud)

android mediacontroller android-videoview

6
推荐指数
2
解决办法
1万
查看次数

Android从mediaplayer中删除Fastforward和倒带按钮

我想从Android中的mediacontroller中删除fastforward和倒带按钮.谁能帮我这个?我想在我的主要活动中做到这一点.

android mediacontroller

6
推荐指数
2
解决办法
6158
查看次数

即使文件已经播放,Android VideoView播放控件最初显示"播放"而不是"暂停"

下午好/早上好!希望有人可以帮我解决我遇到的一个小问题.我正在使用VideoView和自定义播放远程.mp3文件MediaController.

我的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 finish.
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) 
    {
        ((Activity) getContext()).finish();
    }

    return super.dispatchKeyEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

}

我的代码将它附加到我VideoView看起来像这样:

    VideoView videoView = …
Run Code Online (Sandbox Code Playgroud)

android mediacontroller android-videoview

6
推荐指数
1
解决办法
6078
查看次数

(Context,Token)实例化MediaController

我想在我的VideoView中添加一个mediaController.我正在尝试按照本网站的教程.

但是,我的课程中出现了错误.

MediaController mediaController = new MediaController(this);
Run Code Online (Sandbox Code Playgroud)

错误说,

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

Token参数是什么?自从我使用原生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());
        } …
Run Code Online (Sandbox Code Playgroud)

eclipse android mediacontroller android-studio android-videoview

6
推荐指数
1
解决办法
6232
查看次数

MediaSessionCompat.Callback 的 onSkipToNext() 和 onSkipToPrevious() 不会被触发

我正在尝试在 Android 中实现通知播放器。我按照指南来实现这一目标。但是,根据我的要求,我需要在后台通知播放器中实现“跳到下一个”和“跳到上一个”。

到目前为止,MediaSessionCompact.Callback 的 onPlay() 和 onPause() 被触发。但是,在调试时,我注意到在通知播放器中按下下一个和上一个按钮时不会触发 onSkipToNext() 和 onSkipToPrevious() 回调方法。

感谢您的投入。我在下面添加了相关代码。

背景音频服务

private void showPlayingNotification() {
    NotificationCompat.Builder builder = MediaStyleHelper.from(BackgroundAudioService.this, mMediaSessionCompat);
    if (builder == null) {
        return;
    }

    builder.addAction(new NotificationCompat.Action(android.R.drawable.ic_media_previous, "Previous", MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)));
    builder.addAction(new NotificationCompat.Action(android.R.drawable.ic_media_pause, "Pause", MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_PLAY_PAUSE)));
    builder.addAction(new NotificationCompat.Action(android.R.drawable.ic_media_next, "Next", MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_SKIP_TO_NEXT)));

    builder.setStyle(new NotificationCompat.MediaStyle().setShowActionsInCompactView(0).setMediaSession(mMediaSessionCompat.getSessionToken()));
    builder.setSmallIcon(R.mipmap.ic_launcher);
    NotificationManagerCompat.from(BackgroundAudioService.this).notify(1, builder.build());
}

private void showPausedNotification() {
    NotificationCompat.Builder builder = MediaStyleHelper.from(this, mMediaSessionCompat);
    if (builder == null) {
        return;
    }

    builder.addAction(new NotificationCompat.Action(android.R.drawable.ic_media_previous, "Previous", MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)));
    builder.addAction(new NotificationCompat.Action(android.R.drawable.ic_media_play, "Play", MediaButtonReceiver.buildMediaButtonPendingIntent(this, PlaybackStateCompat.ACTION_PLAY_PAUSE))); …
Run Code Online (Sandbox Code Playgroud)

java android mediacontroller android-mediaplayer android-mediasession

6
推荐指数
1
解决办法
1945
查看次数

Android - MediaController 活动泄漏

我正在使用 MediaPlayer 和 MediaController 对象来传输音频。关闭活动时,我收到窗口泄漏异常。

我的活动中有以下内容,根本没有帮助。

@Override
protected void onStop() {
    super.onStop();
    mediaController.hide();

}
Run Code Online (Sandbox Code Playgroud)

我得到以下堆栈跟踪:

01-24 20:11:18.317:E / WindowManager(26286):活动co.uk.ing_simmons.aberdeensoundsites.RecordingDetails已泄露最初在此处添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590 01 -24 20:11:18.317:E / WindowManager(26286):android.view.WindowLeaked:活动co.uk.ing_simmons.aberdeensoundsites.RecordingDetails已泄漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590最初添加在这里 01-24 20:11:18.317: E/WindowManager(26286): 在 android.view.ViewRootImpl.(ViewRootImpl.java:418) 01-24 20:11:18.317: E/WindowManager(26286):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:294) 01-24 20:11:18.317:E/WindowManager(26286):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:226) 01-24 20 :11:18.317:E / WindowManager(26286):在android.view.WindowManagerImpl $ CompatModeWrapper.addView(WindowManagerImpl.java:151)01-24 20:11:18.317:E / WindowManager(26286):在android.view。窗口 $LocalWindowManager.addView(Window.java:547) 01-24 20:11:18.317: E/WindowManager(26286): 在 android.widget.MediaController.show(MediaController.java:470) 01-24 20:11: 18.317: E/WindowManager(26286): 在 android.widget.MediaController.show(MediaController.java:429) 01-24 20:11:18.317: E/WindowManager(26286): 在 co.uk.ing_simmons.aberdeensoundsites.RecordingDetails $2.run(RecordingDetails.java:202) 01-24 20:11:18.317: E/WindowManager(26286): 在 android.os.Handler.handleCallback(Handler.java:615) 01-24 20:11:18.317: E / WindowManager(26286):在android.os.Handler.dispatchMessage(Handler.java:92)01-24 20:11:18.317:E / WindowManager(26286):在android.os.Looper.loop(Looper.java) :153)01-24 20:11:18.317:E / …

android memory-leaks mediacontroller android-mediaplayer

5
推荐指数
1
解决办法
1321
查看次数