بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

پخش پشت سرهم چندین فایل صوتی

مدیریت گفتگو
Sevensen 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام دوستان

من میخوام چندتا فایل صوتی رو از sdcard پشت سرهم پخش کنم، برای اینکار اسم فایل ها رو داخل یه آرایه ذخیره میکنم و شروع به پخششون میکنم. با استفاده از متد setOnCompletionListener وقتی که فایل صوتی اول تموم شد فایل صوتی دوم رو اجرا میکنم ولی دیگه این متد setOnCompletionListener برای فایل صوتی دوم کار نمیکنه. مشکل از کجاست؟ یعنی برای هر فایل صوتی باید یه متد setOnCompletionListener جدا بنویسم؟

اینم بخشی از کد من :

public void playNewSound(boolean play) {
        if (play) {
            pointer++;
            if (pointer < size) {
                file = lastFileName + id_word_record.get(pointer) + ".amr";
                try {
                    mediaPlayer.setDataSource(file);
                    mediaPlayer.prepare();
                    mediaPlayer.setVolume(100, 100);
                    mediaPlayer.start();
                }
                catch (IllegalArgumentException e) {
                    e.printStackTrace();
                }
                catch (IllegalStateException e) {
                    e.printStackTrace();
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                Toast.makeText(G.context, "No Sound", Toast.LENGTH_SHORT).show();
            }
        } else {
                mediaPlayer.pause();
        }
    }

اینم متد setOnCompletionListener :

mediaPlayer.setOnCompletionListener(new OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer player) {
                player.stop();
                player.reset();
                playNewSound(true);
            }
        });

اگه کسی از دوستان میتونه کمک کنه ممنون میشم. با تشکر

نظرات

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .