當前位置:首頁 » 安卓系統 » 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文件,這時音樂播放器就可以找到了)。

熱點內容
shell輸入腳本 發布:2024-05-06 10:19:49 瀏覽:984
通達信自定義板塊在哪個文件夾 發布:2024-05-06 09:56:37 瀏覽:103
在linux搭建mqtt伺服器搭建 發布:2024-05-06 09:52:00 瀏覽:558
windowspython23 發布:2024-05-06 09:27:50 瀏覽:746
編程ug開初 發布:2024-05-06 09:27:48 瀏覽:560
小白源碼論壇 發布:2024-05-06 09:24:56 瀏覽:139
android進程重啟 發布:2024-05-06 09:15:09 瀏覽:96
ie瀏覽器設置默認ftp 發布:2024-05-06 09:14:03 瀏覽:885
邁騰尊貴中控配置怎麼使用 發布:2024-05-06 09:13:28 瀏覽:656
奧迪存儲卡格式不正確請格式化存儲卡 發布:2024-05-06 09:01:31 瀏覽:34