`
mickey_hou
  • 浏览: 247710 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android的MediaPlayer—2

阅读更多
public class PlayerVideoTest extends Activity implements OnClickListener,OnSeekBarChangeListener
{
   
    private ImageView btnPause, btnPlay, btnStop;
   
    private SurfaceView surfaceView;
   
    private SeekBar skbProgress;
   
    private PlayerVideo player;
   
    private int progress;
   
    @Override
    protected void onCreate(Bundle instance)
    {
        super.onCreate(instance);
        setContentView(R.layout.player);
//        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  //切换屏幕
       
        initResource();
        setOnClickListenner();
    }

    /*
     * set onclick listenner
     */
    private void setOnClickListenner()
    {
        this.btnPlay.setOnClickListener(this);
        this.btnPause.setOnClickListener(this);
        this.btnStop.setOnClickListener(this);
       
        this.skbProgress.setOnSeekBarChangeListener(this);
        this.player = new PlayerVideo(surfaceView, skbProgress);
    }

    /*
     * init resource
     */
    private void initResource()
    {
        this.surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
       
        this.btnPlay = (ImageView) this.findViewById(R.id.btnPlay); 
        this.btnPause = (ImageView) this.findViewById(R.id.btnPause); 
        this.btnStop = (ImageView) this.findViewById(R.id.btnStop);
       
        this.skbProgress = (SeekBar) this.findViewById(R.id.skbProgress); 
    }

    @Override
    public void onClick(View view)
    {
        if (view == btnPause)
        {
            this.player.pause();
        }
        else if (view == btnPlay)
        {
            String url = "/sdcard/shaonv1.3gp";
            this.player.playUrl(url);
        }
        else if (view == btnStop)
        {
            this.player.stop();
        }
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
    {
        // TODO Auto-generated method stub
        this.progress = progress * player.mediaPlayer.getDuration() / seekBar.getMax();
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar)
    {
        Log.e("mediaPlayer", "mediaPlayer onStartTrackingTouch");
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar)
    {
        this.player.mediaPlayer.seekTo(this.progress);
    }
   
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
        if ( keyCode ==  KeyEvent.KEYCODE_BACK) 
        { 
            if (null != this.player && null != this.player.mediaPlayer)
            {
                this.player.mediaPlayer.stop(); 
                this.player.mediaPlayer.release(); 
                this.finish(); 
                return true; 
            }
        } 
        return super.onKeyDown(keyCode, event); 
    }
   
}
分享到:
评论

相关推荐

    Android MediaPlayer 自定义循环次数

    在Android开发中,MediaPlayer是处理音频和视频播放的核心类之一,它提供了丰富的API来控制多媒体文件的播放。本文将深入探讨如何使用MediaPlayer自定义循环播放的次数,这在需要重复播放特定音频片段的应用场景中...

    Android 使用MediaPlayer播放视频

    `MediaPlayer`是Android SDK提供的一种核心组件,专门用于播放音频和视频文件。在这个场景中,我们将详细探讨如何使用`MediaPlayer`来播放视频,同时结合`SurfaceView`来显示视频画面。本文将深入解析相关知识点,并...

    Android MediaPlayer播放mp3的实例.doc

    "Android MediaPlayer播放mp3的实例" Android 中的 MediaPlayer 是一个功能强大且复杂的媒体播放器,可以播放音频和视频文件。在 Android 的界面上,Music 和 Video 两个应用程序都是调用 MediaPlayer 实现的。...

    android MediaPlayer播放视频网络URL,asset目录下文件,本地视频文件

    在Android开发中,`MediaPlayer`类是用于播放各种媒体文件的核心组件。它可以处理音频、视频流,支持多种格式,如MP3、AAC、MPEG-4等。在本教程中,我们将深入探讨如何使用`MediaPlayer`播放网络URL、Asset目录下的...

    android MediaPlayer+SurfaceView实现播放

    2. **初始化 `MediaPlayer`**:在Activity或Fragment中找到 `SurfaceView`,并通过 `setSurfaceHolderCallback()` 设置监听器,以便在 `Surface` 准备好时加载媒体文件。 ```java SurfaceView surfaceView = ...

    Android MediaPlayer使用方法简单介绍

    文档如`MediaPlayer2.docx`和`MediaPlayer.docx`可能提供了更详细的API参考和示例代码。而`Android MediaPlayer使用方法简单介绍.docx`则可能是更详尽的教程,包含了更多实践中的注意事项和技巧。 最后,`3gp`格式...

    Android应用开发mediaplayer播放音频,带有进度条

    2. **初始化MediaPlayer**: 在使用MediaPlayer之前,我们需要先实例化它,并指定要播放的音频文件。通常会使用`MediaPlayer.create()`方法,将文件路径或资源ID作为参数传入。 3. **播放和暂停**: - 播放:调用...

    玩转 Android MediaPlayer之视频预加载(优化)

    在Android开发中,MediaPlayer是系统提供的一个核心组件,主要用于播放音频和视频文件。在处理视频播放时,预加载(Preloading)是一个非常重要的优化策略,它有助于提高用户体验,特别是对于网络视频流而言。预加载...

    Android实例之MediaPlayer播放音乐和视频

    在Android开发中,MediaPlayer是一个非常重要的组件,它用于播放音频和视频文件。在这个"Android实例之MediaPlayer播放音乐和视频"中,我们将深入探讨如何利用MediaPlayer类实现多媒体的播放功能。 首先,...

    Android MediaPlayer研究问题

    2. MediaPlayer在实际使用中可能遇到的问题,如状态转换错误、内存泄漏等。 3. 深入分析MediaPlayer的源码,以理解其内部工作原理。 4. 使用工具如Logcat进行调试的方法。 5. 考虑到ExoPlayer作为替代方案的优势。 6...

    Android 中级教程之------Android MediaPlayer播放mp3的实例

    2. 准备播放:初始化后,我们需要调用`prepare()`或`prepareAsync()`方法来准备MediaPlayer。`prepare()`方法是同步的,会阻塞当前线程直到准备完成;`prepareAsync()`是异步的,允许在准备过程中继续执行其他操作。...

    Android MediaPlayer

    **Android MediaPlayer 深度解析** 在Android平台上,多媒体处理是一个重要的功能,而`MediaPlayer`类是Android SDK提供的一种核心组件,专门用于处理音频和视频的播放。它提供了丰富的功能,如播放本地或网络资源...

    android-mediaplayer_android源码_

    Android提供了内置的`MediaPlayer`类,用于处理音频、视频的播放任务。本示例源代码着重解析`MediaPlayer`在Android系统中的实现,帮助开发者深入理解其工作原理和使用方法。 `MediaPlayer`类是Android SDK中的核心...

    Android下MediaPlayer播放MP3示例

    在Android平台上,`MediaPlayer`是系统提供的一个核心组件,用于播放音频和视频文件。这个组件支持多种媒体格式,包括MP3。在这个示例中,我们将深入探讨如何使用`MediaPlayer`来播放MP3文件。 首先,我们需要了解`...

    Android MediaPlayer简单音乐播放器

    在Android平台上,开发一个简单的音乐播放器应用是一个常见的任务,主要涉及到的核心组件是`MediaPlayer`。这个组件提供了音频和视频播放的功能,对于构建一个基础的音乐播放器来说,至关重要。以下将详细介绍`...

    Android MediaPlayer与Http Proxy结合之基础篇

    在Android开发中,`MediaPlayer`是用于播放多媒体文件的核心组件,它可以处理音频、视频等多种格式的媒体资源。然而,有时我们需要处理特殊的网络环境或者需要实现特定的功能,例如播放反盗链的媒体文件或实现边播放...

    Android MediaPlayer Playback---多媒体开发应用程序接口

    Android提供了多种API来处理音频、视频和图像,其中之一就是`MediaPlayer`类。这个强大的工具允许开发者播放本地或网络上的媒体文件,为用户创建各种多媒体应用提供了便利。 `MediaPlayer`是Android SDK中的核心...

    android mediaPlayer demo

    在Android开发中,`MediaPlayer`是一个非常重要的组件,主要用于处理音频和视频的播放。这个"android mediaPlayer demo"是一个基础的示例,展示了如何在Android应用中集成和使用`MediaPlayer`类。下面我们将深入探讨...

    Android 使用MediaPlayer高级

    在Android平台上,`MediaPlayer`是系统提供的一个核心组件,用于播放各种媒体文件,如音频和视频。本篇文章将深入探讨`MediaPlayer`的高级用法,包括但不限于事件处理、流媒体播放、音量控制以及错误处理等方面。...

    Android的MediaPlayer架构介绍

    2. **libmedia_jni.so**:通过调用`libmedia.so`中的`MediaPlayer`类,为Java层提供接口支持。同时,它实现了Java层的`android.media.MediaPlayer`类,使得开发者能够通过Java语言轻松地使用多媒体播放功能。 3. **...

Global site tag (gtag.js) - Google Analytics