मेरे पास एक बटन वाला एक एंड्रॉइड ऐप है। जब बटन क्लिक किया जाता है, तो ऐप SoundPool के साथ लोड की गई ध्वनि (लूपिंग) बजाना शुरू कर देता है। जब बटन दोबारा क्लिक किया जाता है, तो ध्वनि बंद हो जाती है, और फिर फिर से शुरू होती है।साउंडपूल "ऑडियोफ्लिंगर ट्रैक नहीं बना सका, स्थिति: -12"
लेकिन समस्या यह है कि ध्वनि केवल हर दूसरे समय खेला जाता है।
- क्लिक करें 1 समय -> ध्वनि चलाने के लिए
- क्लिक करें 2 बार शुरू होता है -> ध्वनि बंद हो जाता है, लेकिन फिर से शुरू नहीं करता है
- क्लिक करें 3 समय -> ध्वनि 4
- क्लिक करें समय खेलने के लिए शुरू होता है - > ध्वनि बंद हो जाता है लेकिन
- और इतने पर ... खेलने के लिए शुरू नहीं करता है
ध्वनि नहीं करता है, यह त्रुटि logcat में प्रकट होता है:
0,123,E/AudioTrack: AudioFlinger could not create track, status: -12
E/SoundPool: Error creating AudioTrack
जब मैं लूपिंग (परिवर्तन -1 से 0) हटा देता हूं, तो सब ठीक से काम करता है!
मैं जिस ध्वनि को खेल रहा हूं वह एमपी 3 फ़ाइल है, आकार 71.6 कीबी है।
मैंने सोनी एक्सपीरिया यू पर इसका परीक्षण किया है, एंड्रॉइड 4.1.2 (काम नहीं कर रहा) चला रहा है। लेकिन मेरे हुवेई ऑनर 6 (एंड्रॉइड 6.0) में सब कुछ काम करता है, लूपिंग सहित!
मैं क्या गलत कर रहा हूं?
यहाँ मेरी कोड है:
import android.media.AudioManager;
import android.media.SoundPool;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private int lastStreamId = 0;
private int soundID;
private SoundPool soundPool;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
soundID = soundPool.load(this, R.raw.sound01, 1);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
soundPool.stop(lastStreamId);
lastStreamId = soundPool.play(soundID, 1, 1, 1, -1, 1);
}
});
}
}
संपादित करें:
मैं यहाँ मूल ध्वनि अपलोड करने की अनुमति नहीं कर रहा हूँ, लेकिन यहाँ एक और ध्वनि है कि एक ही बात करता है। को छोड़कर अब ध्वनि केवल पहले क्लिक में चलाता है; निम्नलिखित सभी क्लिक बस इसे चुप बनाते हैं और उपरोक्त त्रुटि को थूकते हैं।
ध्वनि यहाँ है: sound01.mp3
क्या आप 'sound01' पोस्ट कर सकते हैं? – azizbekian
प्रश्न संपादित किया गया :) – TuomasK