با عرض سلام و وقت بخیر خدمت شما وب مستران گرامی ، با اموزش این بخش در خدمت شما هستم. در این قسمت به مبحث مدیریت شنیداری میپردازیم.شما می توانید به راحتی صدا یا تصویر تماس گیرنده را کنترل کنید، به عنوان مثال حالت سکوت، ویبره،صدا و غیره. اندروید گروه AndroidManager را ارائه می دهد که دسترسی به این کنترل ها را مشخص می کند. برای اینکه از گروه AndroidManager استفاده کنید، ابتدا باید یک آبجکت از این گروه با فراخوانی روش getSystemService() ، ایجاد کنید.

ترکیب آن در زیر داده شده است .
?
۱
۲

private AudioManager myAudioManager;‎
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);‎

زمانی که آبجکت گروه AndroidManager را به عنوان نمونه ذکر می کنید، می توانید از روش setRingerMode برای تنظیم صدا یا تصویر تماس گیرنده در دستگاه خود استفاده کنید. ترکیب آن در زیر ارائه شده است .
?
۱

myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

روش setRingerMode یک شماره کامل را به عنوان پارامتر می گیرد. برای هر مدل یک شماره ی کامل اختصاص داده می شود که بین سبک های مختلف تمایز ایجاد می کند. مدل های ممکن عبارتند از
Mode & Description
شماره
RINGER_MODE_VIBRATE این شیوه دستگاه را در حالت ویبره قرار می دهد.
۱
RINGER_MODE_NORMAL این شیوه دستگاه را در حالت نرمال (صدا) قرار می دهد.
۲
RINGER_MODE_SILENT این شیوه دستگاه را در حالت سکوت قرار می دهد.
۳

زمانی که شیوه را تنظیم کردید، می توانید برای گرفتن تنظیمات حالت سیستم روش getRingerMode() را فرابخوانید، که ترکیب آن در زیر ارائه شده است.
?
۱

int mod = myAudioManager.getRingerMode();‎‎
Mode & Description
شماره
adjustVolume(int direction, int flags) این روش صدای پرکاربردترین جریان را تنظیم می کند.
۱
getMode() این روش آخرین شیوه را بازمی گرداند.
۲
getStreamMaxVolume(int streamType) این روش شاخص بلندترین صدا برای یک جریان خاص را بازمی گرداند.
۳
getStreamVolume(int streamType) این روش شاخص آخرین صدا برای یک جریان خاص را بازمی گرداند.
۴
isMusicActive() این روش چک می کند که آیا هیچ آهنگی فعال است یا نه.
۵
startBluetoothSco() این روش صدای اتصال بلوتوث SCO را آغاز می کند.
۶
stopBluetoothSco() این روش صدای اتصال بلوتوث SCO را متوقف می کند.
۷

علاوه بر روش etRingerMode، روش های دیگری هم در گروه AndroidManager، برای کنترل صدا وجود دارند. این روش ها در لیست زیر ارائه شده اند.

مثال زیر استفاده از گروه AndroidManager را توضیح می دهد. این مثال یک برنامه ی پایه ایجاد می کند که به شما اجازه می دهد تا شیوه های مختلف تماس گیرنده را برای دستگاه خود تنظیم کنید.

برای آزمایش این مثال، لازم است آن را روی یک دستگاه واقعی اجرا کنید.
توضیحات
مراحل
برای ایجاد یک برنامه ی اندروید از Eclipse IDE استفاده خواهید کرد و آن را با عنوان AudioManager تحت بسته ی com.example.audiomanager نام گذاری کنید. زمان ایجاد این برنامه مطمئن شوید که Target SDK و Compile With در آخرین ورژن Android SDK هستند تا از سطوح بالاتر API استفاده کنید.
۱
فایل src/MainActivity.java را برای افزودن کد AudioManager تغییر دهید.
۲
لی اوت فایل XML مربوط به res/layout/activity_main.xml را تغییر داده و اگر لازم است مولفه ی GUI را به آن اضافه کنید.
۳
فایل res/values/string.xml را تغییر دهید و مولفه های رشته ی لازم را اضافه کنید.
۴
AndroidManifest.xml را برای افزودن دستورات لازم عوض کنید.
۵
برنامه را اجرا کنید و یک دستگاه اجراکننده ی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.
۶

در اینجا محتوای src/com.example.audiomanager/MainActivity.java را مشاهده می کنید.
?
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
۲۴
۲۵
۲۶
۲۷
۲۸
۲۹
۳۰
۳۱
۳۲
۳۳
۳۴
۳۵
۳۶
۳۷
۳۸
۳۹
۴۰
۴۱
۴۲
۴۳
۴۴
۴۵
۴۶
۴۷
۴۸
۴۹
۵۰
۵۱
۵۲
۵۳
۵۴
۵۵

package com.example.audiomanager;‎
import android.media.AudioManager;‎
import android.os.Bundle;‎
import android.app.Activity;‎
import android.content.Context;‎
import android.view.Menu;‎
import android.view.View;‎
import android.widget.Button;‎
import android.widget.TextView;‎
public class MainActivity extends Activity {‎
‎ private Button Vibrate , Ring , Silent , Mode;‎
‎ private TextView Status;‎
‎ private AudioManager myAudioManager;‎
‎ @Override
‎ protected void onCreate(Bundle savedInstanceState) {‎
‎ super.onCreate(savedInstanceState);‎
‎ setContentView(R.layout.activity_main);‎
‎ Vibrate = (Button)findViewById(R.id.button2);‎
‎ Ring = (Button)findViewById(R.id.button4);‎
‎ Silent = (Button)findViewById(R.id.button3);‎
‎ Mode = (Button)findViewById(R.id.button1);‎
‎ Status = (TextView)findViewById(R.id.textView2);‎
‎ myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);‎
‎ }‎
‎ public void vibrate(View view){‎
‎ myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);‎
‎ }‎
‎ public void ring(View view){‎
‎ myAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);‎
‎ }‎
‎ public void silent(View view){‎
‎ myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);‎
‎ }‎
‎ public void mode(View view){‎
‎ int mod = myAudioManager.getRingerMode();‎
‎ if(mod == AudioManager.RINGER_MODE_NORMAL){‎
‎ Status.setText(“Current Status: Ring”);‎
‎ }‎
‎ else if(mod == AudioManager.RINGER_MODE_SILENT){‎
‎ Status.setText(“Current Status: Silent”);‎
‎ }‎
‎ else if(mod == AudioManager.RINGER_MODE_VIBRATE){‎
‎ Status.setText(“Current Status: Vibrate”);‎
‎ }‎
‎ else{‎
‎ }‎
‎}‎
‎ @Override
‎ public boolean onCreateOptionsMenu(Menu menu) {‎
‎ // Inflate the menu; this adds items to the action bar if it is present.‎
‎ getMenuInflater().inflate(R.menu.main, menu);‎
‎ return true;‎
‎ }‎
‎}‎
Here is the content of activity_main.xml

در اینجا محتوای activity_main.xml را مشاهده می کنید.
?
۱
۲
۳
۴
۵
۶
۷
۸


‎ ‎

در اینجا محتوای Strings.xml را مشاهده می کنید.
?
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲


‎ ‎
‎ AudioManager‎
‎ Settings‎
‎ Hello world!‎
‎ Set Audio Profiles‎
‎ Ring‎
‎ Vibrate‎
‎ Silent‎
‎ Current Mode‎
‎ Current Status‎ ‎

در اینجا محتوای AndroidManifest.xml را مشاهده می کنید.
?
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸




‎ ‎






‎ ‎
‎ ‎


‎ ‎
‎‎

اجازه بدهید برنامه ی Androidmanager شما را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.
آموزش مدیریت شنیداری در اندروید

دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.
آموزش مدیریت شنیداری در اندروید

اکنون دکمه ی ring را انتخاب کرده و سپس دکمه ی Current Mode را فشار دهید تا اگر وضعیت آن تنظیم شده باشد، آن را ببینید.
آموزش مدیریت شنیداری در اندروید

اکنون دکمه ی Silent و سپس دکمه ی Current Mode را فشار دهید تا اگر تنظیم شده باشد آن را مشاهده کنید.
آموزش مدیریت شنیداری در اندروید

اکنون دکمه ی vibrate و سپس دکمه ی Current Mode را فشار دهید تا اگر تنظیم شده باشد آن را مشاهده کنید، که صفحه ی زیر را نمایش خواهد داد.