2013年12月8日

ToneGeneratorとは

ToneGenerator

いろんな種類のトーン音を鳴らします。

種類が多いので詳細はAndroid Developersを参照して下さい。

AudioManagerで音量調整もできます。

以下ソースではToneGenerator.TONE_PROP_BEEPというトーン音が出て

音量調整ができます。



MainActivity.java
public class MainActivity extends Activity implements OnClickListener{

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

Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(this);

}

@Override
public void onClick(View arg0) {
// TODO 自動生成されたメソッド・スタブ
SeekBar seekbar = (SeekBar)findViewById(R.id.seekBar1);
int _volume = seekbar.getProgress();//音量 初期設定はactivity_main.xmlで80%に設定してます。
ToneGenerator toneGenerator = new ToneGenerator(AudioManager.STREAM_ALARM,_volume);
toneGenerator.startTone(ToneGenerator.TONE_PROP_BEEP);//トーンの種類をして開始
}
}

res/layout/activity_main.xml
<LinearLayout 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:orientation="vertical"
    android:gravity="center" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="音が出ます"
        />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="トーン音" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text=""/>
   
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="音量調整"/>
   
    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:progress="80"
        android:max="100"/>

</LinearLayout>


0 件のコメント:

コメントを投稿