مقالات تخصصی برنامه نویسی اندروید

اموزش برنامه نویسی اندروید

مقالات تخصصی برنامه نویسی اندروید

اموزش برنامه نویسی اندروید

  • ۰
  • ۰

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

 

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

 

private AudioManager myAudioManager;

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

 

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

 

myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

 

روش setRingerMode یک شماره کامل را به عنوان پارامتر می گیرد. برای هر مدل یک شماره ی کامل اختصاص داده می شود که بین سبک های مختلف تمایز ایجاد می کند. مدل های ممکن عبارتند از:

 

RINGER_MODE_VIBRATE

این قابلیت دستگاه را در حالت ویبره قرار می دهد.

 

RINGER_MODE_NORMAL

این قابلیت دستگاه را در حالت نرمال (صدا) قرار می دهد.

 

RINGER_MODE_SILENT

این قابلیت دستگاه را در حالت سکوت قرار می دهد.

 

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

 

int mod = myAudioManager.getRingerMode();‎‎

    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 را به آن اضافه کنید.

برنامه را اجرا کنید و یک دستگاه اجراکننده ی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.

 

در اینجا محتوای src/com.example.audiomanager/MainActivity.java را مشاهده می کنید.

 

package com.example.sairamkrishna.myapplication;

 

import android.app.Activity;

import android.content.Context;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.media.MediaRecorder;

 

import android.os.Bundle;

import android.os.Environment;

 

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

 

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

import java.io.IOException;

 

 

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();

            }

         }

      });

   }

  

   @Override

   public boolean onCreateOptionsMenu(Menu menu) {

      // Inflate the menu; this adds items to the action bar if it is present.

      getMenuInflater().inflate(R.menu.menu_main, menu);

      return true;

   }

  

   @Override

   public boolean onOptionsItemSelected(MenuItem item) {

      // Handle action bar item clicks here. The action bar will

      // automatically handle clicks on the Home/Up button, so long

      // as you specify a parent activity in AndroidManifest.xml.

     

      int id = item.getItemId();

     

      //noinspection SimplifiableIfStatement

      if (id == R.id.action_settings) {

         return true;

      }

      return super.onOptionsItemSelected(item);

   }

}

 

در اینجا محتوای activity_main.xml را مشاهده می کنید

 

<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/logo"

      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>

 

در اینجا محتوای Strings.xml را مشاهده می کنید

 

<resources>

   <string name="app_name">My Application</string>

   <string name="hello_world">Hello world!</string>

   <string name="action_settings">Settings</string>

</resources>

 

در اینجا محتوای AndroidManifest.xml را مشاهده می کنید

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

   package="com.example.audiomanager"

   android:versionCode="1"

   android:versionName="1.0" >

 

   <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>

 

 

 

 

 

ا

 

 

  • ۹۹/۰۲/۲۸
  • vahid hasani

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی