soundPoolサウンドプール

soundPoolは、同時に複数の音を再生することができ、それは1M以上のものを提出することが最善ではありません、音だけでゲームの音をミキシング、数秒間再生することができます

パブリック クラス MainActivityは延びAppCompatActivity { 


    @Overrideが
    保護 ボイドのonCreate(バンドルsavedInstanceState){
         スーパー; .onCreate(savedInstanceState)

        SoundPool Soundpool; 
        // SoundPoolインスタンス

        // SDKバージョン21である流域SoundPool 
        IF(Build.VERSION.SDK_INT> = 21れる){ 
            SoundPool.Builderビルダー = 新しい新しいSoundPool.Builder();
             //は、オーディオ再生の数、に渡さ 
            。builder.setMaxStreams(1 );
             // AudioAttributes様々なオーディオ特性は、包装方法であって、
            AttrBuilder = AudioAttributes.Builder 新しい新AudioAttributes.Builder();
             // 設定された適切なオーディオストリーム属性
            attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC);
             // AudioAttributesロード
            builder.setAudioAttributesを(attrBuilder.build()); 
            Soundpool = ビルダー。ビルド(); 
        } {
             / ** 
             *最初のパラメータ:同時ストリームの最大数オブジェクトSoundPool:maxStreams値int 
             * 2番目のパラメータ:int型streamType:AudioManagerオーディオストリームタイプがに記載されている
             第三のパラメータ*:INT srcQualityを質量フィルタサンプルレート変換。影響はありません。デフォルト値として0を使用します。
             * / 
            Soundpool = 新新SoundPool(1は、AudioManager.STREAM_MUSICは、0 ); 
        } 

        // 4つの方法でオーディオリソースを記述することができる:
         // 1 AssetFileDescriptor目標
         // INTロード(AssetFileDescriptor AFD、INT優先)
         // 2.リソースID
         // INT負荷(コンテキスト・コンテキスト、RESIDはint、int型の優先順位)
         // パスを指定することにより、ロード3
         // INT負荷(文字列パス、INT優先)
         // ローディング4.のFileDescriptor
         // int型の負荷(FDのFileDescriptor 、)ロング、ロング丈、int型の優先順位をオフセット
         // ここ秒、3番目のパラメータは指摘優先、音声*のAPIの優先順位で、ロードするオーディオリソースIDを鳴らし、優先度のパラメータには現在の結果は、設定をお勧めしません1。
        最終的な int型= soundPool.load VoiceID(これ、R.raw.qunianxiatianは、1 );
         // ロードを待つ非同期必要が完了すると、音声が正常に再生でき 
        soundPool.setOnLoadCompleteListener(新新SoundPool.OnLoadCompleteListener(){ 
            @Override 
            公共 のボイド onLoadComplete(SoundPool Soundpool、int型 sampleId、INTの状態){
                 IF(ステータス== 0 ){
                     // 最初のパラメータSoundID
                     // 第二パラメータはleftVolumeボリューム値を放置する(範囲= 0.0〜1.0)
                     // 第三のパラメータが正しいrightVolumeありますボリューム値(範囲= 0.0〜1.0)
                     //優先度のストリームのための第四のパラメータの優先度、高優先度の大きい値の数は、同時にサポートのSoundPool最大数の処理の流れのうち再生影響
                     // 音声周波数0を繰り返す第パラメータループプレイ値、-1無限ループ、他のループ+ 1倍の値プレー
                     // 速度の第六のパラメータ再生レート、0.5〜0.5〜2.0(ハーフレート、通常速度の1.0、2.0の2倍の速度を) 
                    soundPool.play(VoiceID ,. 1 ,. 1 ,. 1,0 ,. 1 ); 
                } 
            } 
        }); 
    } 
    }

 

おすすめ

転載: www.cnblogs.com/Ocean123123/p/10991403.html