随笔 - 383  文章 - 0  评论 - 0  阅读 - 35557 

 

1.     android多媒体介绍
android
的多媒体功能基于PacketVideoOpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4 H.264 MP3 AAC AMRJPG PNG,底级实现在源码的external/opencore

2.     android框架对多媒体的支持
应用程序调用接口
frameworks/base/media/java/android/media/MediaPlayer.java

3.     例程

1)         功能
播放编辑框中指定的多媒体文件

2)         可从此处下载可独立运行的代码
http://download.csdn.net/source/2602127

3)         核心代码及说明

package com.android.mymedia;

 

import android.app.Activity;

import android.os.Bundle;

import android.widget.EditText;

import android.widget.Button;

import android.view.View.OnClickListener;

import android.view.View;

import android.media.MediaPlayer;

import android.net.Uri;

 

public class MyMediaActivity extends Activity {

private Button mPlayBtn;

private Button mStopBtn;

private EditText mEditText;

private MediaPlayer mMediaPlayer;

 

@Override

public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      mPlayBtn = (Button) this.findViewById(R.id.play_button);

      mStopBtn = (Button) this.findViewById(R.id.stop_button);

      mEditText = (EditText) this.findViewById(R.id.edit_text);

      mPlayBtn.setOnClickListener(buttonListener);

      mStopBtn.setOnClickListener(buttonListener);

      mEditText.setText("/sdcard/test.mp3");

}

 

@Override

public void onDestroy() {

      stopMedia();

      super.onDestroy();

}

 

private OnClickListener buttonListener = new OnClickListener() {

      public void onClick(View v) {

           if (mPlayBtn.equals(v)) {

               playMedia();

           } else if (mStopBtn.equals(v)) {

               stopMedia();

           }

      }

};

 

private void playMedia() {

      stopMedia();

      Uri playUri = Uri.parse(String.valueOf(mEditText.getText()));

      mMediaPlayer = MediaPlayer.create(this, playUri);

      mMediaPlayer.start();

}

 

private void stopMedia() {

      if (mMediaPlayer != null) {

           if (mMediaPlayer.isPlaying())

               mMediaPlayer.stop();

           mMediaPlayer.release();

           mMediaPlayer = null;

      }

}

}

4.     参考:

1)         Android源码自带的多媒体播放例程
development/samples/ApiDemos/src/ocm/example/android/apis/media/MediaPlayerDemo*

2)         流媒体例程
http://kuikui.javaeye.com/blog/325916

 

(转载请注明出处: http://xy0811.spaces.live.com)

posted on   xieyan0811  阅读(22)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示