android音频(一)
来源:互联网 发布:淘宝品质保证险是什么 编辑:程序博客网 时间:2024/05/22 09:50
1.通过意图使用内置的音频播放器
Intent intent=new Intent(android.content.Intent.ACTION_VIEW);File audioFile=new File(Environment.getExternalStorageDirectory()+"/Music/mylove.mp3");intent.setDataAndType(Uri.fromFile(audioFile), "audio/mp3");startActivity(intent);
2.创建自定义播放应用(在onStart中初始化MediaPlayer对象和开始播放,可以在活动不再活跃时,停止播放)
MediaPlayer mediaPlayer;
@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();mediaPlayer = MediaPlayer.create(this, R.raw.life);mediaPlayer.setOnCompletionListener(this);mediaPlayer.start();}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();mediaPlayer.stop();mediaPlayer.release();}
@Overridepublic void onCompletion(MediaPlayer mp) {// TODO Auto-generated method stubmediaPlayer.start();}
package com.example.testaudioedit;import java.io.File;import android.app.Activity;import android.content.Intent;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnTouchListener;import android.widget.Button;public class AudioPlayer extends Activity implements OnClickListener,OnCompletionListener, OnTouchListener {private MediaPlayer mediaPlayer;private Button startButton, stopButton;private int position = 0;// 保存播放位置private View musicProgress;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {// TODO Auto-generated method stubstartButton = (Button) findViewById(R.id.internal_play);stopButton = (Button) findViewById(R.id.internal_stop);musicProgress = findViewById(R.id.musicView);startButton.setOnClickListener(this);stopButton.setOnClickListener(this);musicProgress.setOnTouchListener(this);mediaPlayer = MediaPlayer.create(this, R.raw.life);//资源文件,在资源文件夹下创建raw文件夹,life表示的是要播放的音频文件mediaPlayer.setOnCompletionListener(this);mediaPlayer.start();}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();mediaPlayer.stop();mediaPlayer.release();}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.internal_play:if (!mediaPlayer.isPlaying())mediaPlayer.start();break;case R.id.internal_stop:if (mediaPlayer.isPlaying())mediaPlayer.pause();break;default:break;}}@Overridepublic void onCompletion(MediaPlayer mp) {// TODO Auto-generated method stubmediaPlayer.start();mediaPlayer.seekTo(position);}@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubif (event.getAction() == MotionEvent.ACTION_MOVE) {if (mediaPlayer.isPlaying()) {position = (int) (event.getX() * mediaPlayer.getDuration() / musicProgress.getWidth());mediaPlayer.seekTo(position);}}return true;}}
activity_main.xml文件如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/internal_play" android:layout_width="150dp" android:layout_height="60dp" android:layout_marginLeft="10dp" android:text="play"/> <Button android:id="@+id/internal_stop" android:layout_toRightOf="@+id/internal_play" android:layout_width="150dp" android:layout_height="60dp" android:text="stop"/> <View android:id="@+id/musicView" android:layout_below="@+id/internal_play" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </RelativeLayout>
0 0
- android音频(一)
- android音频(一)
- Android音频开发(2):如何采集一帧音频
- Android音频开发(3):如何播放一帧音频
- Android音频开发(2):如何采集一帧音频
- Android音频开发(3):如何播放一帧音频
- Android音频流程一(JNI部分)
- Android音频流程一(JNI部分)
- android 音频子系统框架(一)
- Android音频实时传输与播放(一):写在开头
- Android关于音频歌词同步实现思路(一)
- Android音频实时传输与播放(一):写在开头
- Android音频架构解析之(一)初步认识
- Android音频实时传输与播放(一):写在开头
- android之播放多媒体文件一(播放音频)
- Android下音频进行转码(一)
- android 多媒体编程(一) MediaPlayer 播放音频
- Android音频实时传输与播放(一)
- 如何复制dos窗口里的内容
- 物联12:rfidt系统安全概述
- R: 如何理解变量和环境的Lexical Scoping Rule
- boostASIO线程池
- ffmpeg2.6.2的使用过程和使用中发现的问题
- android音频(一)
- 函数栈空间
- input输入子系统框架分析
- 天声人語 20150421
- linux下的脚本运行的奇怪问题
- JSP介绍第一个JSP程序
- linux系统之间通过nfs网络文件系统挂载设置方法
- 正则表达式
- 如何在inux(Ubuntu)零基础l学习hadoop使用