J'ai un problème avec l'initialisation AudioTrack android. J'ai Nexus One avec Android 2.3.3.Android AudioTrack ne peut pas être INITIALISÉ
Voici mon code:
int _rate = AudioTrack.getNativeOutputSampleRate (AudioManager.STREAM_SYSTEM);
int buffersize = AudioRecord.getMinBufferSize (_rate, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioTrack UnTrack = new AudioTrack (AudioManager.STREAM_VOICE_CALL, _rate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, buffersize, AudioTrack.MODE_STREAM);
if (atrack.getState() == AudioTrack.STATE_UNINITIALIZED) ...
Ainsi, l'état de la UnPiste est toujours AudioTrack.STATE_UNINITIALIZED
Le manifeste d'application est
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="BigLeftEarActivity"
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>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-sdk android:minSdkVersion="10" />
Pourriez-vous m'aider? Quel pourrait être le problème?
Merci!
Je suis le même problème avec mon Nexus One, je vois une ligne de ligne de journal qui dit "minFrameCount 3072, FrameCount 1536". Cependant, bien sûr, je suis passé en 3072 en tant que taille de la mémoire tampon ... est-ce un bug Nexus One ??? – Ivan
Vous pouvez trouver que c'est parce que "getMinBufferSize retourne la taille minimale dans BYTES.Si vous écrivez exactement le même nombre de SHORTS (qui sont deux octets chacun), alors vous remplissez le tampon. tableau dont la longueur est ce nombre exact, vous ne devriez pas avoir de problème. – protectedmember