多媒体(音频)
来源:互联网 发布:手机有算量软件吗 编辑:程序博客网 时间:2024/05/21 16:21
播放放在项目中的音频,功能可以做到点击播放、点击暂停、拖动进度条决定音频的播放进度,下面先给大家介绍一下关于多媒体和它的方法:
效果图:
以下为实现代码:
xml部分:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.playmusic.MainActivity"> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/sb_main_bar" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_play" android:onClick="playOrPause" /></LinearLayout>java部分:
package com.example.playmusic;import android.media.MediaPlayer;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageButton;import android.widget.SeekBar;public class MainActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; private SeekBar sb; private ImageButton imageButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sb = (SeekBar) findViewById(R.id.sb_main_bar); } public void playOrPause(View view){ imageButton = (ImageButton) view; if(mediaPlayer==null){ //实例化MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.roar); mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause);//暂图标停 //获取音乐的播放时间 int time=mediaPlayer.getDuration(); //设置进度条的最大值为音乐的播放时间 sb.setMax(time); new MyThresd().start(); }else if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); //播放图标 imageButton.setImageResource(android.R.drawable.ic_media_play); }else{ mediaPlayer.start(); imageButton.setImageResource(android.R.drawable.ic_media_pause); } sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { //获取当前进度条的位置 int currentPosition=seekBar.getProgress(); //跳转到某个位置播放 mediaPlayer.seekTo(currentPosition); } }); } class MyThresd extends Thread{ @Override public void run() { super.run(); while(sb.getProgress()<sb.getMax()){ //获取音乐当前的播放位置 int currentPosotion=mediaPlayer.getCurrentPosition(); sb.setProgress(currentPosotion); } } }}
以下为音频的放置地点:
阅读全文
0 0
- 多媒体(音频)
- 多媒体(音频播放)MediaPlayer
- JAVA多媒体编程入门(音频部分)
- JAVA多媒体编程入门(音频部分)
- iOS 多媒体(一)音频播放
- Android --- 多媒体应用(SoundPool播放音频)
- 寻求多媒体(音频)管理工具
- Android 多媒体开发-音频
- linux多媒体音频架构
- 多媒体音频编码格式
- Android多媒体-深入音频
- 多媒体音频PCM数据
- Android多媒体---SurfaceView(播放视频)+Mediaplayer(音频)
- os开发之如何添加多媒体文件(音频,视频)
- android之播放多媒体文件一(播放音频)
- android 多媒体编程(一) MediaPlayer 播放音频
- iOS 多媒体编程(一)——音频(AudioServices、AVAudioPlayer)
- Android多媒体(1)——基础知识与音频
- CBoard框架使用总结二--扩展新的功能模块
- HDU-1010 tempter of the bone 骨头的诱惑/233
- 第三本书 pxe
- codecomb 2098 stone 线段树 解题报告
- windows——消息——WM_PAINT
- 多媒体(音频)
- python3 [爬虫入门实战]scrapy爬取盘多多五百万数据并存mongoDB
- Spring MVC参数的传递与接收
- 前端在线编程题6
- 深入研究Struts2(二)-StrutsPrepareAndExecuteFilter源码剖析
- hdu2028 Lowest Common Multiple Plus
- PCL( I currently use CDT with cmake to build a Point Cloud Library (PCL) project.)
- HUAWEI在线编程题库180题
- libssl-dev 安装失败 解决方案