Android - Ses Yöneticisi
Zil sesi düzeyinizi ve zil sesi profilinizi kolayca kontrol edebilirsiniz, yani android'de (sessiz, titreşim, yüksek sesle vb.). Android, bu kontrollere erişim sağlayan AudioManager sınıfı sağlar.
AndroidManager sınıfını kullanmak için, önce AudioManager sınıfının bir nesnesini getSystemService()yöntem. Söz dizimi aşağıda verilmiştir.
private AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
AudioManager sınıfının nesnesini somutlaştırdıktan sonra, setRingerModecihazınızın ses veya zil sesi profilini ayarlama yöntemi. Söz dizimi aşağıda verilmiştir.
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
SetRingerMode yöntemi, parametre olarak bir tam sayı alır. Her mod için, farklı modlar arasında farklılık gösterecek bir tam sayı atanır. Olası modlar şunlardır.
Sr.No | Mod ve Açıklama |
---|---|
1 |
RINGER_MODE_VIBRATE Bu Mod, cihazı titreşim moduna ayarlar. |
2 |
RINGER_MODE_NORMAL Bu Mod, cihazı normal (yüksek) moda ayarlar. |
3 |
RINGER_MODE_SILENT Bu Mod, cihazı sessiz moda ayarlar. |
Modu ayarladıktan sonra, getRingerMode()sistemin set durumunu elde etme yöntemi. Söz dizimi aşağıda verilmiştir.
int mod = myAudioManager.getRingerMode();
GetRingerMode yönteminin yanı sıra, AudioManager sınıfında ses düzeyini ve diğer modları kontrol etmek için başka yöntemler de vardır. Aşağıda listelenmiştir.
Sr.No | Yöntem ve açıklama |
---|---|
1 |
adjustVolume(int direction, int flags) Bu yöntem, en alakalı akışın sesini ayarlar |
2 | getMode() Bu yöntem, mevcut ses modunu döndürür |
3 | getStreamMaxVolume(int streamType) Bu yöntem, belirli bir akış için maksimum hacim endeksini döndürür |
4 | getStreamVolume(int streamType) Bu yöntem, belirli bir akış için geçerli hacim endeksini döndürür |
5 | isMusicActive() Bu yöntem, herhangi bir müziğin aktif olup olmadığını kontrol eder. |
6 | startBluetoothSco() Bu yöntem Bluetooth SCO ses bağlantısını başlat |
7 | stopBluetoothSco() Bu yöntem bluetooth SCO ses bağlantısını durdurur. |
Misal
Aşağıdaki örnek, AudioManager sınıfının kullanımını göstermektedir. Cihazınız için farklı zil modları ayarlamanıza izin veren bir uygulama oluşturur.
Bu örneği denemek için, bunu gerçek bir cihazda çalıştırmanız gerekir.
Adımlar | Açıklama |
---|---|
1 | Com.example.sairamkrishna.myapplication paketinin altında bir Android uygulaması oluşturmak için Android studio IDE'yi kullanacaksınız. |
2 | AudioManager kodunu eklemek için src / MainActivity.java dosyasını değiştirin |
3 | Düzen XML dosyasını değiştirin res / layout / activity_main.xml gerekirse herhangi bir GUI bileşeni ekleyin. |
4 | Res / values / string.xml dosyasını değiştirin ve gerekli dize bileşenlerini ekleyin. |
5 | Gerekli izinleri eklemek için AndroidManifest.xml dosyasını değiştirin. |
6 | Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın. |
İşte içeriği 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();
}
}
});
}
}
İşte içeriği activity_main.xml
Burada abc, tutorialspoint logosunu gösterir
<?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>
İşte içeriği Strings.xml
<resources>
<string name="app_name">My Application</string>
</resources>
İşte içeriği 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>
Uygulamanızı çalıştırmayı deneyelim. Gerçek Android Mobil cihazınızı bilgisayarınıza bağladığınızı varsayıyorum. Uygulamayı Android Studio'dan çalıştırmak için, projenizin etkinlik dosyalarından birini açın
Şimdi sessiz düğmeyi seçin, Bildirim çubuğunda sessiz simge alırsınız
Şimdi sadece zil düğmesini seçin ve ardından durumunun ayarlanıp ayarlanmadığını görmek için mevcut mod düğmesine basın.
Şimdi Titreşim düğmesine basın ve ardından ayarlı olup olmadığını görmek için mevcut mod düğmesine basın. Aşağıdaki ekran görüntülenecektir.