第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Media Player 不播放第二次

Media Player 不播放第二次

素胚勾勒不出你 2022-11-30 14:35:24
我使用相同的按鈕播放和暫停。它可以順利處理播放和暫停。但是音樂(lè)文件結(jié)束后,它無(wú)法再次播放。當(dāng)我按下它時(shí)重新啟動(dòng)應(yīng)用程序。我使用 mp.reset(); mp.release();.在這種情況下對(duì)我沒(méi)有幫助Java代碼:final MediaPlayer mp1;             mp1 = MediaPlayer.create(convertView.getContext().getApplicationContext(), convertView.getResources().getIdentifier(audiopath, "raw", convertView.getContext().getPackageName()));            mHolder.play.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    if (mp1.isPlaying()) {                        mp1.pause();                        mHolder.play.setImageResource(R.drawable.plays);                    } else {                        mp1.start();                        mHolder.play.setImageResource(R.drawable.pause);                        mp1.setOnCompletionListener(new OnCompletionListener() {                            public void onCompletion(MediaPlayer mp) {                                mp.reset();                                mp.release();                                mHolder.play.setImageResource(R.drawable.plays);                            }                        });                    }                }            });日志貓: java.lang.IllegalStateException    at android.media.MediaPlayer.isPlaying(Native Method)    at com.example.package.adapter.AdapterN$3.onClick(AdapterN.java:223)
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

http://img1.sycdn.imooc.com//6386f9c60001c5f206580805.jpg

問(wèn)題

當(dāng)您調(diào)用release()aMediaPlayer時(shí),它會(huì)釋放之前分配的所有資源MediaPlayer.create(),因此不再可訪問(wèn)。這產(chǎn)生,

com.example.package.adapter.AdapterN$3.onClick(AdapterN.java:223) 處的 android.media.MediaPlayer.isPlaying(本機(jī)方法)處的 java.lang.IllegalStateException

解決方案

你應(yīng)該刪除,

mp.release()

但是,您仍然可以使用release(),但在這種情況下,您必須再次MediaPlayer使用創(chuàng)建實(shí)例,

mp1 = MediaPlayer.create(convertView.getContext().getApplicationContext(), convertView.getResources().getIdentifier(audiopath, "raw", convertView.getContext().getPackageName()));

在適當(dāng)?shù)牡胤剑丛谠L問(wèn)任何開(kāi)始、暫停、重置等之前)。

建議

  1. 始終MediaPlayeronCreate().

  2. onDestroy()在Use 之間釋放 MediaPlayer 實(shí)例。

  3. 在創(chuàng)建和發(fā)布之間使用start/pause/resetAPI。


查看完整回答
反對(duì) 回復(fù) 2022-11-30
?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

可能是因?yàn)椤癿p.release()”:

正如您在此處的文檔中看到的那樣,它聲明在 release() 之后,該對(duì)象不再可用。

所以,我在這里建議的是你可以刪除“mp.release()”并將它放在你的活動(dòng)的 onDestroy() 下。


查看完整回答
反對(duì) 回復(fù) 2022-11-30
  • 2 回答
  • 0 關(guān)注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)