Playing audio files one after another

后端 未结 7 1338
情书的邮戳
情书的邮戳 2020-12-10 06:05

I have a list of audio files like this,

int music_numbers[] = { R.raw.one, R.raw.two, R.raw.three, R.raw.four,
            R.raw.five, R.raw.six, R.raw.seve         


        
7条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-10 06:47

    Use a queue for holding the numbers to be played.

    private void _play_numbers(final String i) {
        // e.g '100': put '1', '0', '0' in a Queue after converting to digits
        Queue queue = new LinkedList();
        //Use the add method to add items.
    
        myDigit = // remove next digit from queue..
    
        _function_play_file(myDigit);
    }
    
    void _function_play_file(int files) {
         switch(files) {
           case 0:
            mPlayer = MediaPlayer.create(PlayFileActivity.this, R.raw.payment);
            mPlayer.setOnCompletionListener(completeListener );
            mPlayer.start();
            break;
     .....
     }
    
    OnCompletionListener completeListener = new OnCompletionListener() {
    
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
            myDigit = // remove next digit from queue..
            if (myDigit != -1)  // if queue is not empty..
                _function_play_file(myDigit);
        }
    });
    

    }

提交回复
热议问题