Android 多媒體開發-音頻

來源:互聯網
上載者:User

  如今,任何名副其實的智能手機都具有音頻播放功能。當然,基於android的裝置也不例外,它允許你建立音樂播放器,有聲書,播客或任何圍繞音頻播放的其他應用類程式。本次將討論Android在格式和轉碼器支援方面的功能同時還將構建幾個不同的播放程式。

  音頻播放

  Android支援多種用於播放的音頻檔案格式和轉碼器(同時也支援錄音)

  • AAC
  • MP3
  • AMR
  • Ogg
  • PCM

   具體的格式介紹可以自行查閱資料

   通過意圖使用系統內建的播放器

    通過意圖來促發播放制定的檔案,使用android.content.Intent.ACTION_VIEW意圖的資料設定為一個音頻檔案的URI,並指定其MIME類型,這樣Android就可以挑選設當的應用程式播放。

      Intent intent=new Intent(android.content.Intent.ACTION_VIEW);

      intent.setDataAndType(audioFileUri,"audio/mp3");

      startActivity(intent);

      下面是一個完整的樣本,

     

import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

  1. /**
  2. * 本樣本示範如何利用Android內建的Music來播放程式
  3. * 和Camera一樣,可以通過Intent來啟動它。
  4. * 我們需要指定一個ACTION_VIEW的Action
  5. * 同時一個Uri來指定我們要播放檔案的路徑
  6. * 最後指定一個MIME類型,指定所要播放的檔案類型
  7. * 每種檔案類型對應的都有一個MIME,他一般是類似於audio/mp3格式
  8. * 前部分是一個較大的類型,後面是更具體的類型
  9. *
  10. * 同樣的,對於Audio類型的多媒體,系統儲存在MediaStore.Audio中
  11. * 包括Media,Album,Genre等資訊體
  12. *
  13. * 本文將以列表的形式列出所有的Album資訊,供使用者選擇
  14. * 當使用者選擇某個Album時,系統將開啟這個ALbum下的所有Audio
  15. * @author Administrator
  16. *
  17. */

 

    在觸發播放音頻之前,活動將監聽是否按下一個按鈕。由於活動實現OnClickListener,因此它可以響應該事件。

public class IntentAudioPlayer extends Activity implements OnClickListener {

 Button playButton;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  playButton = (Button) this.findViewById(R.id.Button01);
  playButton.setOnClickListener(this);
 }

 public void onClick(View v) {
  Intent intent = new Intent(android.content.Intent.ACTION_VIEW);

  File sdcard = Environment.getExternalStorageDirectory();
  File audioFile = new File(sdcard.getPath()
    + "/Music/goodmorningandroid.mp3");

  intent.setDataAndType(Uri.fromFile(audioFile), "audio/mp3");
  startActivity(intent);
 }
}

      以下是布局檔案:

      <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:text="Play Audio" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>

   關於這一部分,還有一篇進階的文章大家可以看看:http://blog.csdn.net/chenjie19891104/article/details/6330383

   

 

 

        

 

     

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.