Thứ Sáu, 31 tháng 8, 2018

Android - Trình quản lý âm thanh

Học lập trình Android bạn có thể dễ dàng kiểm soát âm lượng chuông và chuông của bạn tức là: (im lặng, rung, to, vv) trong android. Android cung cấp lớp AudioManager cung cấp quyền truy cập vào các điều khiển này.

Để sử dụng lớp Android Manager, trước tiên bạn phải tạo một đối tượng của lớp AudioManager bằng cách gọi phương thức getSystemService () . Cú pháp của nó được đưa ra dưới đây.
private AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);  
Khi bạn khởi tạo đối tượng của lớp AudioManager , bạn có thể sử dụng phương thức setRingerMode để đặt cấu hình âm thanh hoặc chuông của thiết bị. Cú pháp của nó được đưa ra dưới đây.
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Phương thức setRingerMode lấy một số nguyên làm tham số. Đối với mỗi chế độ, một số nguyên được gán sẽ phân biệt giữa các chế độ khác nhau. Các chế độ có thể là.

Sr.NoChế độ & mô tả
1RINGER_MODE_VIBRATE

Chế độ này đặt thiết bị ở chế độ rung.
2RINGER_MODE_NORMAL

Chế độ này đặt thiết bị ở chế độ bình thường (lớn).
3RINGER_MODE_SILENT

Chế độ này đặt thiết bị ở chế độ im lặng.
Một khi bạn đã thiết lập chế độ, bạn có thể gọi phương thức getRingerMode () để có được trạng thái thiết lập của hệ thống. Cú pháp của nó được đưa ra dưới đây.
int mod = myAudioManager.getRingerMode();
Ngoài phương thức getRingerMode, còn có các phương thức khác có sẵn trong lớp AudioManager để điều khiển âm lượng và các chế độ khác. Chúng được liệt kê dưới đây.

Sr.NoPhương pháp & mô tả
1adjustVolume (int hướng, int cờ)

Phương pháp này điều chỉnh âm lượng của luồng có liên quan nhất
2getMode ()

Phương thức này trả về chế độ âm thanh hiện tại
3getStreamMaxVolume (int streamType)

Phương thức này trả về chỉ mục khối lượng tối đa cho một luồng cụ thể
4getStreamVolume (int streamType)

Phương thức này trả về chỉ mục khối lượng hiện tại cho một luồng cụ thể
5isMusicActive ()

Phương pháp này kiểm tra xem có bất kỳ nhạc nào đang hoạt động hay không.
6startBluetoothSco ()

Phương thức này Bắt đầu kết nối âm thanh bluetooth SCO
7stopBluetoothSco ()

Phương pháp này dừng kết nối âm thanh bluetooth SCO.

Thí dụ

Ví dụ dưới đây minh họa việc sử dụng lớp AudioManager. Nó tạo ra một ứng dụng cho phép bạn thiết lập các chế độ chuông khác nhau cho thiết bị của bạn.

Để thử nghiệm với ví dụ này, bạn cần chạy trên một thiết bị thực tế.

Các bướcSự miêu tả
1Bạn sẽ sử dụng Android studio IDE để tạo ứng dụng Android theo gói com.example.sairamkrishna.myapplication.
2Sửa đổi tệp src / MainActivity.java để thêm mã AudioManager
3Sửa đổi tệp XML bố trí res / layout / activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần.
4Sửa đổi tệp res / values ​​/ string.xml và thêm các thành phần chuỗi cần thiết.
5Sửa đổi AndroidManifest.xml để thêm các quyền cần thiết.
6Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả.
Đây là nội dung của src / MainActivity.java
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends Activity {
   Button mode,ring,vibrate,silent;
   private AudioManager myAudioManager;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      vibrate=(Button)findViewById(R.id.button3);
      ring=(Button)findViewById(R.id.button2);

      mode=(Button)findViewById(R.id.button);
      silent=(Button)findViewById(R.id.button4);
      myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

      vibrate.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
            Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
               Toast.LENGTH_LONG).show();
         }
      });

      ring.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            myAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
            Toast.makeText(MainActivity.this,"Now in Ringing Mode",
               Toast.LENGTH_LONG).show();
         }
      });

      silent.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
            Toast.makeText(MainActivity.this,"Now in silent Mode",
               Toast.LENGTH_LONG).show();
         }
      });

      mode.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int mod=myAudioManager.getRingerMode();
            if(mod==AudioManager.RINGER_MODE_VIBRATE){
               Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
                  Toast.LENGTH_LONG).show();
            } else if(mod==AudioManager.RINGER_MODE_NORMAL){
               Toast.makeText(MainActivity.this,"Now in Ringing Mode",
                  Toast.LENGTH_LONG).show();
            } else {
               Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
                  Toast.LENGTH_LONG).show();
            }
         }
      });
   }
}
Đây là nội dung của activity_main.xml

Ở đây abc biểu thị logo của hướng dẫn
<?xml version="1.0" encoding="utf-8"?>
<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" 
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" 
   tools:context=".MainActivity">

   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Android Audio Recording"
      android:id="@+id/textView"
      android:textSize="30dp"
      android:layout_alignParentTop="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorialspoint"
      android:id="@+id/textView2"
      android:textColor="#ff3eff0f"
      android:textSize="35dp"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_alignLeft="@+id/textView2"
      android:layout_alignStart="@+id/textView2"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Mode"
      android:id="@+id/button"
      android:layout_below="@+id/imageView"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_marginTop="59dp" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Ring"
      android:id="@+id/button2"
      android:layout_alignTop="@+id/button"
      android:layout_centerHorizontal="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="vibrate"
      android:id="@+id/button3"
      android:layout_alignTop="@+id/button2"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Silent"
      android:id="@+id/button4"
      android:layout_below="@+id/button2"
      android:layout_alignLeft="@+id/button2"
      android:layout_alignStart="@+id/button2" />     
</RelativeLayout>
Đây là nội dung của Strings.xml
<resources>
   <string name="app_name">My Application</string>
</resources>
Đây là nội dung của AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.sairamkrishna.myapplication"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      
      </activity>
      
   </application>
</manifest>
Hãy thử chạy ứng dụng của bạn. Tôi cho rằng bạn đã kết nối thiết bị Android Mobile thực tế với máy tính của mình.

Để chạy ứng dụng từ Android Studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào Chạy biểu tượng từ thanh công cụ. Android studio sẽ hiển thị Hình ảnh

Bây giờ chọn nút im lặng, bạn sẽ nhận được biểu tượng im lặng tại thanh Thông báo

học android
Học lập trình Android

Bây giờ chỉ cần chọn nút chuông và sau đó nhấn nút chế độ hiện tại để xem liệu trạng thái của nó có được đặt hay không.

Học lập trinh Android

Bây giờ nhấn nút Vibrate và sau đó nhấn nút chế độ hiện tại để thấy rằng nếu nó được thiết lập hay không. Nó sẽ hiển thị màn hình sau đây.

học lập trình Android

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...