2017年10月28日 星期六

Xamarin : Android : playback a tone 發出警告聲(簡單聲音)

在 Xamarin 下開發 Android 讓裝置發出 警告聲音 或是 提示聲音


void button_beep_Click(object sender , EventArgs ea)
{
    int iVolume = 100; // 0 ~ 100 音量,但不是裝置實際音量,而是產生音波的音量
    int iDuration = 500; // 500毫秒,聲音持續時間
    // 建立執行物件
    var tonGen = new ToneGenerator(Android.Media.Stream.Music, iVolume);

    //播放聲音
    //tonGen.StartTone(Android.Media.Tone.CdmaAlertAutoredialLite,1000);
    //tonGen.StartTone(Android.Media.Tone.CdmaAlertCallGuard, 200);
    //tonGen.StartTone(Android.Media.Tone.CdmaAlertIncallLite, iDuration );
    //tonGen.StartTone(Android.Media.Tone.CdmaAlertNetworkLite, iDuration );
    tonGen.StartTone(Android.Media.Tone.PropBeep, iDuration );
}


Android.Media.Tone 底下列舉不少基本 DTMF 的音調,可以自行選擇測試
這個元件比較適合播放訊息聲音(比較簡單的音調)。

如果要播放音樂建議使用 AudioTrack 物件。

注意這個播放是屬於非同步的,而且會以最後一次呼叫StartTone的聲音為主,如果同時播放多個聲音檔,則只會聽到最後一個聲音。


0 個回應: