android.media.AudioTrack#STATE_UNINITIALIZED源码实例Demo

下面列出了android.media.AudioTrack#STATE_UNINITIALIZED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: dcs-sdk-java   文件: AudioTrackPlayerImpl.java
@Override
public void stop() {
    getAudioTrackCurrentPosition();
    mCurrentState = PlayState.STOPPED;
    if (writeWorkThread != null) {
        writeWorkThread.stopWrite();
    }
    try {
        Log.d(TAG, "stop-PlayState:" + mAudioTrack.getPlayState());
        if (mAudioTrack != null && mAudioTrack.getPlayState() != AudioTrack.STATE_UNINITIALIZED) {
            mAudioTrack.pause();
            mAudioTrack.flush();
            Log.d(TAG, "stop-ok");
        }
    } catch (Exception e) {
        e.printStackTrace();
        Log.d(TAG, "stop()", e);
    }
    fireStopped();
}
 
源代码2 项目: dcs-sdk-java   文件: AudioTrackPlayerImpl.java
@Override
public void release() {
    mCurrentState = PlayState.IDLE;
    if (writeWorkThread != null) {
        writeWorkThread.stopWrite();
    }
    try {
        Log.d(TAG, "release-PlayState:" + mAudioTrack.getPlayState());
        if (mAudioTrack != null && mAudioTrack.getPlayState() != AudioTrack.STATE_UNINITIALIZED) {
            mAudioTrack.pause();
            mAudioTrack.flush();
            mAudioTrack.stop();
            mAudioTrack.release();
            Log.d(TAG, "release-ok");
        }
    } catch (Exception e) {
        e.printStackTrace();
        Log.d(TAG, "release()", e);
    }
    fireOnRelease();
    mediaPlayerListeners.clear();
    handlerMain.removeCallbacksAndMessages(null);
}
 
源代码3 项目: EvilsLive   文件: AudioPlayer.java
public boolean startPlayer(int streamType, int sampleRateInHz, int channelConfig, int audioFormat) {
    
    if (mIsPlayStarted) {
        Log.e(TAG, "Player already started !");
        return false;
    }
    
    mMinBufferSize = AudioTrack.getMinBufferSize(sampleRateInHz,channelConfig,audioFormat);
    if (mMinBufferSize == AudioTrack.ERROR_BAD_VALUE) {
        Log.e(TAG, "Invalid parameter !");
        return false;
    }
    Log.d(TAG , "getMinBufferSize = "+mMinBufferSize+" bytes !");
    
    mAudioTrack = new AudioTrack(streamType,sampleRateInHz,channelConfig,audioFormat,mMinBufferSize,DEFAULT_PLAY_MODE);
    if (mAudioTrack.getState() == AudioTrack.STATE_UNINITIALIZED) {
        Log.e(TAG, "AudioTrack initialize fail !");
        return false;
    }            
    
    mIsPlayStarted = true;
    
    Log.d(TAG, "Start audio player success !");
    
    return true;
}
 
源代码4 项目: android-sdk   文件: StreamPlayer.java
/**
 * Play the given InputStream. The stream must be a PCM audio format with a sample rate of 22050.
 *
 * @param stream the stream derived from a PCM audio source
 */
public void playStream(InputStream stream) {
  try {
    byte[] data = convertStreamToByteArray(stream);
    int headSize = 44, metaDataSize = 48;
    int destPos = headSize + metaDataSize;
    int rawLength = data.length - destPos;
    byte[] d = new byte[rawLength];
    System.arraycopy(data, destPos, d, 0, rawLength);
    initPlayer(DEFAULT_SAMPLE_RATE);
    audioTrack.write(d, 0, d.length);
    stream.close();
    if (audioTrack != null && audioTrack.getState() != AudioTrack.STATE_UNINITIALIZED) {
      audioTrack.release();
    }
  } catch (IOException e2) {
    Log.e(TAG, e2.getMessage());
  }
}
 
源代码5 项目: android-sdk   文件: StreamPlayer.java
/**
 * Play the given InputStream. The stream must be a PCM audio format.
 *
 * @param stream the stream derived from a PCM audio source
 * @param sampleRate the sample rate for the provided stream
 */
public void playStream(InputStream stream, int sampleRate) {
  try {
    byte[] data = convertStreamToByteArray(stream);
    int headSize = 44, metaDataSize = 48;
    int destPos = headSize + metaDataSize;
    int rawLength = data.length - destPos;
    byte[] d = new byte[rawLength];
    System.arraycopy(data, destPos, d, 0, rawLength);
    initPlayer(sampleRate);
    audioTrack.write(d, 0, d.length);
    stream.close();
    if (audioTrack != null && audioTrack.getState() != AudioTrack.STATE_UNINITIALIZED) {
      audioTrack.release();
    }
  } catch (IOException e2) {
    Log.e(TAG, e2.getMessage());
  }
}
 
源代码6 项目: Android   文件: AudioPlayer.java
public boolean startPlayer(int streamType, int sampleRateInHz, int channelConfig, int audioFormat) {
    
    if (mIsPlayStarted) {
        Log.e(TAG, "Player already started !");
        return false;
    }
    
    mMinBufferSize = AudioTrack.getMinBufferSize(sampleRateInHz,channelConfig,audioFormat);
    if (mMinBufferSize == AudioTrack.ERROR_BAD_VALUE) {
        Log.e(TAG, "Invalid parameter !");
        return false;
    }
    Log.d(TAG , "getMinBufferSize = "+mMinBufferSize+" bytes !");
    
    mAudioTrack = new AudioTrack(streamType,sampleRateInHz,channelConfig,audioFormat,mMinBufferSize,DEFAULT_PLAY_MODE);
    if (mAudioTrack.getState() == AudioTrack.STATE_UNINITIALIZED) {
        Log.e(TAG, "AudioTrack initialize fail !");
        return false;
    }            
    
    mIsPlayStarted = true;
    
    Log.d(TAG, "Start audio player success !");
    
    return true;
}
 
源代码7 项目: libcommon   文件: MediaMoviePlayer.java
protected void internal_stop_audio() {
	if (DEBUG) Log.v(TAG, "internal_stop_audio:");
   	if (mAudioTrack != null) {
   		if (mAudioTrack.getState() != AudioTrack.STATE_UNINITIALIZED)
   			mAudioTrack.stop();
   		mAudioTrack.release();
   		mAudioTrack = null;
   	}
	mAudioOutTempBuf = null;
}
 
源代码8 项目: speech-android-sdk   文件: TTSUtility.java
/**
    * Stop player
    */
private void stopTtsPlayer() {
       if (audioTrack != null && audioTrack.getState() != AudioTrack.STATE_UNINITIALIZED ) {
           // IMPORTANT: NOT use stop()
           // For an immediate stop, use pause(), followed by flush() to discard audio data that hasn't been played back yet.
           audioTrack.pause();
           audioTrack.flush();
       }
}
 
源代码9 项目: speech-android-sdk   文件: TTSUtility.java
@Override
public void run() {
	android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
	
	HttpResponse post;
	try {
		post = createPost(server, username, password, token, learningOptOut, content, voice, codec);
        InputStream is = post.getEntity().getContent();

		byte[] data = null;
		if(codec == CODEC_WAV) {
			data = analyzeWavData(is);
		}
		else if(codec == CODEC_OPUS){
			data = analyzeOpusData(is);
		}
              initPlayer();
              audioTrack.write(data, 0, data.length);
              is.close();

	} catch (Exception e) {
		e.printStackTrace();
	} finally {
              Log.i(TAG, "Stopping audioTrack...");
		if (audioTrack != null && audioTrack.getState() != AudioTrack.STATE_UNINITIALIZED) {
			audioTrack.release();
		}
	}
}
 
源代码10 项目: AudioVideoPlayerSample   文件: MediaMoviePlayer.java
protected void internalStopAudio() {
	if (DEBUG) Log.v(TAG, "internalStopAudio:");
   	if (mAudioTrack != null) {
   		if (mAudioTrack.getState() != AudioTrack.STATE_UNINITIALIZED)
   			mAudioTrack.stop();
   		mAudioTrack.release();
   		mAudioTrack = null;
   	}
	mAudioOutTempBuf = null;
}
 
源代码11 项目: VLC-Simple-Player-Android   文件: Aout.java
public void playBuffer(byte[] audioData, int bufferSize) {
    if (mAudioTrack.getState() == AudioTrack.STATE_UNINITIALIZED)
        return;
    if (mAudioTrack.write(audioData, 0, bufferSize) != bufferSize) {
        Log.w(TAG, "Could not write all the samples to the audio device");
    }
    mAudioTrack.play();
}