当前位置:首页 » 安卓系统 » android播放mp3

android播放mp3

发布时间: 2024-04-25 02:36:17

① android 如何实现音乐播放

在Android平台下,要实现声音的播放是十分容易实现的,只要生成一个MediaPlayer对象,并调用它的相关方法,就能改变对声音播放进行控制。MediaPlayer对象有一下各种状态:

熟悉了MediaPlayer对象的各种状态后以及转换条件,就能很好的控制媒体播放。

例如:播放res/raw文件夹中的歌曲十分简单,只需写如下代码:

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);

mp.start();
也可以指定音乐文件的位置来进行播放,例如,在sdcard根目录下有有一首歌曲:test.mp3。则可以这样播放:
MediaPlayer mp = new MediaPlayer();
String song = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test.mp3";
try {
mp.setDataSource(song);
mp.prepare();
mp.start();
} catch (Exception e) {
e.printStackTrace();
}

建议在播放音乐的时候把MediaPlayer放在Service中,因为如果放在Activity中会使得界面特别卡。而且音乐不能放到后台里播放,一旦退出Activity,音乐就会暂停播放。

可以在Activity中布局相关的界面,例如按钮等。然后通过这个Activitiy来启动这个Service。要通过UI与Service交互,可以通过Intent对象传递消息。更复杂一些,要实现Service向Activity发送消息,并利用这些消息来更新UI,这可以用广播机制,例如告诉Activity是否正在播放,播放进度,当前播放歌曲条目等信息。

例如以下实例代码:

/*Activity中*/

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnPlay = (Button)findViewById(R.id.btnPlay);
btnPause = (Button)findViewById(R.id.btnPause);
btnPlay.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,SoundService.class);
intent.putExtra("playing", true);
startService(intent);
}
});

btnPause.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,SoundService.class);
intent.putExtra("playing", false);
startService(intent);
}
});
}
}

播放音乐的Service代码:

package com.yzy.sound;

import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;

public class SoundService extends Service {
private MediaPlayer mp;

@Override
public void onCreate() {
super.onCreate();
mp = MediaPlayer.create(this, R.raw.test);
}

@Override
public void onDestroy() {
super.onDestroy();
mp.release();
stopSelf();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
boolean playing = intent.getBooleanExtra("playing", false);
if (playing) {
mp.start();
} else {
mp.pause();
}
return super.onStartCommand(intent, flags, startId);
}

@Override
public IBinder onBind(Intent intent) {
return null;
}

}

② 音频播放需要用到编解码技术吗 android

1、android提圆帆供的音视频编敏腔迟码只有 AMR-NB(nb是窄频)和H.263
2、android虽然支持gif的解码,只能用mediaplay来播放,但是效果不好
3、android不支持flv的解码
4、AudioTrack只能播放pcm编码的数据,MediaPlayer可以播放MP3,AAC,WAV,OGG,MIDI等
事实上,两种本质上是没啥区别的,MediaPlayer在播放音频时,在framework层桥李还是会创建AudioTrack,
把解码后的PCM数据传递给AudioTrack,最后由AudioFlinger进行混音,传递音频给硬件播放出来。
利用AudioTrack播放只是跳过 Mediaplayer的解码部分而已。Mediaplayer的解码核心部分是基于OpenCORE 来实现的,
支持通用的音视频和图像格式,codec使用的是OpenMAX接口来进行扩展。因此使用audiotrack播放mp3文件的话,要自己加入 一个音频解码器,如libmad。
否则只能播放PCM数据,如大多数WAV格式的音频文件。

③ android音乐播放器,具有扫描SD卡MP3的功能。在手机上可以扫描到音乐文件,而在android模拟器无法扫描。

/* 定义音乐存放路径 */
//如下两种方式都行
//你要注意看你sdcard里面有没有你写的路径
private static final String MUSIC_PATH = new String("/mnt/sdcard/"); //android 2.2
private static final String MUSIC_PATH = new String("/sdcard/music");//android 2.1

④ android如何播放g729格式的音频

g729是一种itu制定的语音编码的标准,码率为8kbps/s,如果在android上找不到合适的解码器,可以转换成adpcm或gsm的格式,这两个比较常见,应该比较好找。
mp3,在低码率的情况下,音质太差。码率高了,文件就太大。

源码有,怎么给你

⑤ 什么软件可以播放MP3格式的歌

播放器:酷狗音乐、天天动听、酷我音乐。

酷狗音乐:是中国领先的数字音乐交互服务提供商,互联网技术创新的领军企业,致力于为互联网用户和数字音乐产业发展提供最佳的解决方案。酷狗具有良好的音乐效果,丰富的网络音乐资源,简单的操作成为酷狗音乐吸引用户的特色。

天天动听:是上海水渡石信息技术有限公司开发音乐播放器,是一款功能强大、完全免费的音乐播放软件。目前有Android,iOS,Windows Phone,Symbian,pc客户端以及网页版。

酷我音乐:酷我是由前网络首席架构师雷鸣先生在2005年8月创立的,是中国数字音乐的交互服务品牌,是互联网领域的数字音乐服务平台,同时也是一款内容全、聆听快和界面炫的音乐聚合播放器,是国内的多种音乐资源聚合的播放软件。

⑥ android涓鐢ㄦ剰锲炬墦寮阔充箰鎾鏀惧櫒骞舵挱鏀炬寚瀹氲矾寰勭殑阔充箰

镓句笉鍒扮﹀悎intent镄刟ctivity锛屽綋铹朵细鎶ラ敊浜嗐俿tartActivity涔嫔墠鍏堢敤intent.resolveActivity𨱒ュ垽鏂涓嬫槸钖︽湁婊¤冻intent镄刟ctivity銆

安卓模拟器怎么添加mp3文件

在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:
Failed to push XXXXX.txt on emulator- : Read-only file system的错误,原因是你的sdcard权限不够,需要直接创建一个SDCARD。
一、首先创建SDCARD 我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束)
进入DOS 指向 目录 E:\android-sdk_r10-windows\android-sdk-windows\tools (这是安装android的SDK的文件里,配置这个环境变量的就不用了)
我们在Dos里面输入 mksdcard -l sdcard 100M E:\sdcard\sdcard.img(这个文件的位置可以任意放在哪里)
解说:1. sdcard命令可以使用三种尺寸:字节、K和M。如果只使用数字,表示字节。后面还可以跟K,如262144K,也表示256M。
2. sdcard建立的虚拟文件最小为8M,也就是说,模拟器只支持大于8M的虚拟文件。
3. -l命令行参数表示虚拟磁盘的卷标,可以没有该参数。
4. 虚拟文件的后缀.img
可以在Dos里面 输入mksdcard Help 有说的二、创建好sdcard之后,我们要在模拟器加载sdcard
Window-》AVD Manager-》选中你使用的模拟器-》Edit
然后在SD Card选项中选择File然后选择刚创建的sdcard.img,然后点击Edit AVD进行保存
三、这时再向模拟器的sdcard中添加文件就没问题了(注意:这里最好是将模拟器重启一下)
四、重启模拟器后,在模拟器中找到Dev Tools并启动,然后找到并运行 Media Scanner对新添加的文件进行扫描,显示 finished就可以退出了,这时候添加进去的文件就可以使用了(例如:MP3文件,这时音乐播放器就可以找到了)。

热点内容
点赞熊源码 发布:2024-05-08 08:49:44 浏览:457
压缩性胸闷 发布:2024-05-08 08:18:18 浏览:528
电脑哔哩哔哩pc端的缓存 发布:2024-05-08 08:17:05 浏览:171
王者服务器崩溃估计什么时候好 发布:2024-05-08 08:16:51 浏览:575
qj压缩机 发布:2024-05-08 08:10:13 浏览:842
dhcp服务器可以分配什么参数 发布:2024-05-08 08:07:36 浏览:959
跨象限编程 发布:2024-05-08 07:58:37 浏览:62
java多对一 发布:2024-05-08 07:58:33 浏览:642
苹果怎么创建文件夹 发布:2024-05-08 07:53:34 浏览:918
html连接sql数据库 发布:2024-05-08 07:53:28 浏览:737