Hướng dẫn xử lý audio (hệ thống âm thanh) trong lập trình Android

Thảo luận trong 'Android nâng cao' bắt đầu bởi thanhlongi90.it, 19/2/13.

  1. thanhlong90.it

    thanhlong90.it Admin Support

    Lượt xem: 6,026
    Chào các bạn, như trên tiêu đề hôm nay Long sẽ giới thiệu cách sử lý Audio (âm thanh) trong Android. Như các bạn đã thấy, chiếc smart phone của chúng ta có rất nhiều âm thanh khác nhau, như là âm thanh của máy nghe nhạc, âm thanh trò chuyện các cuộc gọi, âm thanh của máy, âm thanh cảnh báo ... nhưng trên mỗi thiết bị chúng ta chỉ được phép tăng giảm dung lượng âm thanh của một Audio duy nhất, vì vậy việc đồng bộ hóa hay hiệu chỉnh âm thanh trong ứng dụng của chúng ta là rất cần thiết. Như mọi lần Long đêu up video clip hướng dẫn rất cụ thể code nguồn phía bên dưới

    1) Source code demo:
    Click vào đây để download source code demo.

    2) Video clip hướng dẫn (Các bạn xem full HD để được chất lượng tốt nhất nha):


    3) Hướng dẫn code:
    MainActivity.java
    PHP:
    package android.vn;
     
    import android.media.AudioManager;
    import android.os.Bundle;
    import android.app.Activity;
    import android.widget.RadioGroup;
    import android.widget.RadioGroup.OnCheckedChangeListener;
     
    public class 
    MainActivity extends Activity implements OnCheckedChangeListener{
     
        @
    Override
        
    protected void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            
    setContentView(R.layout.activity_main);
            
    RadioGroup rg = (RadioGroupfindViewById(R.id.radioGroup1);
            
    rg.setOnCheckedChangeListener(this);
        }
     
        @
    Override
        
    public void onCheckedChanged(RadioGroup groupint checkedId) {
            switch (
    checkedId) {
            case 
    R.id.radioRing:
                
    setVolumeControlStream(AudioManager.STREAM_RING);
                break;
            case 
    R.id.radioMedia:
                
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
                break;
            case 
    R.id.radioVoice:
                
    setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
                break;
            case 
    R.id.radioAlarm:
                
    setVolumeControlStream(AudioManager.STREAM_ALARM);
                break;
            }
        }
    }
     
    activity_main.xml
    PHP:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     
        
    xmlns:tools="http://schemas.android.com/tools"
     
        
    android:layout_width="match_parent"
     
        
    android:layout_height="match_parent"
     
        
    tools:context=".MainActivity" >
     
     
     
        <
    TextView
     
            android
    :id="@+id/textView1"
     
            
    android:layout_width="wrap_content"
     
            
    android:layout_height="wrap_content"
     
            
    android:text="Volume Control Stream Demo" />
     
     
     
        <
    RadioGroup
     
            android
    :id="@+id/radioGroup1"
     
            
    android:layout_width="wrap_content"
     
            
    android:layout_height="wrap_content"
     
            
    android:layout_alignParentLeft="true"
     
            
    android:layout_below="@+id/textView1" >
     
     
     
            <
    RadioButton
     
                android
    :id="@+id/radioRing"
     
                
    android:layout_width="wrap_content"
     
                
    android:layout_height="wrap_content"
     
                
    android:checked="true"
     
                
    android:text="Ring (Chuong)" />
     
     
     
            <
    RadioButton
     
                android
    :id="@+id/radioMedia"
     
                
    android:layout_width="wrap_content"
     
                
    android:layout_height="wrap_content"
     
                
    android:text="Media (Phuong Tien Truyen Thong)" />
     
     
     
            <
    RadioButton
     
                android
    :id="@+id/radioVoice"
     
                
    android:layout_width="wrap_content"
     
                
    android:layout_height="wrap_content"
     
                
    android:text="Voice (Giong Noi)" />
     
     
     
            <
    RadioButton
     
                android
    :id="@+id/radioAlarm"
     
                
    android:layout_width="wrap_content"
     
                
    android:layout_height="wrap_content"
     
                
    android:text="Alarm (Canh Bao)" />
     
        </
    RadioGroup>
     
     
     
    </
    RelativeLayout>
    Thanhlong90.it chúc các bạn thành công nhé !
    lap trinh, ung dung, android, audio, audiomanage, manager, systempanel app / task manager, tutorial, demo
    ducthien, seventhanhcong thích bài này.
  2. beb0ng115

    beb0ng115 New Member

    Em thấy bài này hợp cho là beginner hơn là advanced á
  3. thanhlong90.it

    thanhlong90.it Admin Support Staff Member

    bài này anh viết khá đơn giản cho mọi người dễ hiểu thôi. Bạn chú ý vào
    setVolumeControlStream(AudioManager.STREAM_ALARM);
    Đó 1 trong vài trăm ngàn cái thiết lập của hệ thống android nhé bạn.
  4. ducthien

    ducthien New Member

    cho em hỏi làm thế nào để đo được cường độ âm thanh (âm thanh trực tiếp từ bên ngoài) ạ ? Thanks anh!
  5. ducthien

    ducthien New Member

    cho em hỏi làm thế nào để đo được cường độ âm thanh (âm thanh trực tiếp từ bên ngoài) ạ ? Thanks anh!

Chia sẻ trang này