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

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

播放資源目錄中的音頻文件

播放資源目錄中的音頻文件

繁華開滿天機(jī) 2019-08-17 14:48:11
播放資源目錄中的音頻文件我有以下代碼:AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");player = new MediaPlayer();player.setDataSource(afd.getFileDescriptor());player.prepare();player.start();問題是,當(dāng)我運(yùn)行這段代碼時(shí),它會(huì)按字母順序開始播放資源目錄中的所有音頻文件,而不是只播放我請(qǐng)求的音頻文件。我究竟做錯(cuò)了什么?有沒有更好的方法從資源目錄播放音頻文件?后續(xù)問題:將音頻文件保存在資源目錄中并將它們保存在res / raw目錄中是否有區(qū)別?除了他們沒有獲得ID,如果他們?cè)谫Y產(chǎn)目錄中的事實(shí)。如果我將音頻文件移動(dòng)到res / raw文件夾,那么我有一個(gè)重用MediaPlayers 的問題,因?yàn)闆]有id參數(shù)setDataSource()。我找不到處理這類問題的好指南。
查看完整描述

3 回答

?
飲歌長(zhǎng)嘯

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

player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());

如果您在資源目錄中只有一個(gè)文件,那么您的版本將起作用。資產(chǎn)目錄內(nèi)容實(shí)際上不是磁盤上的“真實(shí)文件”。所有這些都是一個(gè)接一個(gè)地組合在一起。因此,如果您沒有指定從哪里開始以及要讀取多少字節(jié),則播放器將讀到最后(即,將繼續(xù)播放assets目錄中的所有文件)


查看完整回答
反對(duì) 回復(fù) 2019-08-17
?
ITMISS

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

這個(gè)功能會(huì)正常工作:)

// MediaPlayer m; /*assume, somewhere in the global scope...*/public void playBeep() {
    try {
        if (m.isPlaying()) {
            m.stop();
            m.release();
            m = new MediaPlayer();
        }

        AssetFileDescriptor descriptor = getAssets().openFd("beepbeep.mp3");
        m.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
        descriptor.close();

        m.prepare();
        m.setVolume(1f, 1f);
        m.setLooping(true);
        m.start();
    } catch (Exception e) {
        e.printStackTrace();
    }}


查看完整回答
反對(duì) 回復(fù) 2019-08-17
?
互換的青春

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

這是我的靜態(tài)版本:

public static void playAssetSound(Context context, String soundFileName) {
    try {
        MediaPlayer mediaPlayer = new MediaPlayer();

        AssetFileDescriptor descriptor = context.getAssets().openFd(soundFileName);
        mediaPlayer.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
        descriptor.close();

        mediaPlayer.prepare();
        mediaPlayer.setVolume(1f, 1f);
        mediaPlayer.setLooping(false);
        mediaPlayer.start();
    } catch (Exception e) {
        e.printStackTrace();
    }}


查看完整回答
反對(duì) 回復(fù) 2019-08-17
  • 3 回答
  • 0 關(guān)注
  • 644 瀏覽

添加回答

舉報(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)