当前位置: 首页>>代码示例>>Java>>正文


Java MediaPlayer.prepareAsync方法代码示例

本文整理汇总了Java中android.media.MediaPlayer.prepareAsync方法的典型用法代码示例。如果您正苦于以下问题:Java MediaPlayer.prepareAsync方法的具体用法?Java MediaPlayer.prepareAsync怎么用?Java MediaPlayer.prepareAsync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.media.MediaPlayer的用法示例。


在下文中一共展示了MediaPlayer.prepareAsync方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onBtnGetAudioFromAssetsClicked

import android.media.MediaPlayer; //导入方法依赖的package包/类
@OnClick(R.id.btn_get_audio_from_assets)
public void onBtnGetAudioFromAssetsClicked() {
    try {
        AssetFileDescriptor descriptor = FileUtils.getAssetFileDescription("music/baiyemeng.mp3");
        MediaPlayer player = new MediaPlayer();
        player.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
        player.prepareAsync();
        player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                showPlayerDialog(mp);
            }
        });
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
开发者ID:jiangkang,项目名称:KTools,代码行数:18,代码来源:FileSystemActivity.java

示例2: initMediaPlay

import android.media.MediaPlayer; //导入方法依赖的package包/类
private void initMediaPlay(SurfaceTexture surface){

        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(path);
            mMediaPlayer.setSurface(new Surface(surface));
            mMediaPlayer.setLooping(true);
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mMediaPlayer.start();

                    videoDuration = mMediaPlayer.getDuration();
                    videoWidth = mMediaPlayer.getVideoWidth();
                    videoHeight = mMediaPlayer.getVideoHeight();
                    initVideoSize();
                    initThumbs();
                }
            });
            mMediaPlayer.prepareAsync();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
 
开发者ID:Zhaoss,项目名称:WeiXinRecordedDemo,代码行数:25,代码来源:CutTimeActivity.java

示例3: playVideo

import android.media.MediaPlayer; //导入方法依赖的package包/类
private void playVideo(Integer Media) {
    doCleanUp();
    try {
        // Create a new media player and set the listeners
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setDataSource(path);
        mMediaPlayer.setDisplay(holder);
        mMediaPlayer.prepareAsync();
        mMediaPlayer.setOnBufferingUpdateListener(this);
        mMediaPlayer.setOnCompletionListener(this);
        mMediaPlayer.setOnPreparedListener(this);
        mMediaPlayer.setOnVideoSizeChangedListener(this);
        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    } catch (Exception e) {
        Log.e(TAG, "error: " + e.getMessage(), e);
    }
}
 
开发者ID:narenkukreja,项目名称:quire,代码行数:18,代码来源:MediaPlayerActivity.java

示例4: prepareTrack

import android.media.MediaPlayer; //导入方法依赖的package包/类
private MediaPlayer prepareTrack(int trackIndex) {
    MediaPlayer mp = initTrackPlayer();
    Song songToPlay = songs.get(trackIndex);    //get song info
    long currSong = songToPlay.getId();           //set uri

    Uri trackUri = ContentUris.withAppendedId(
            android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
            currSong);
    try {
        mp.setDataSource(getApplicationContext(), trackUri);
    } catch (Exception e) {
        Log.e("MUSIC SERVICE", "Error setting data source", e);
        mp.release();
        return null;
    }
    mp.prepareAsync();
    return mp;
}
 
开发者ID:n76,项目名称:Symphony,代码行数:19,代码来源:MusicService.java

示例5: preparePlayer

import android.media.MediaPlayer; //导入方法依赖的package包/类
private void preparePlayer() throws PlayerPrepareException {
    try {
        mediaPlayer = new MediaPlayer();

        mediaPlayer.setDataSource(fileUrl);
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setOnPreparedListener(this);
        mediaPlayer.setOnVideoSizeChangedListener(this);
        mediaPlayer.setOnErrorListener(this);
        mediaPlayer.setOnCompletionListener(this);
        mediaPlayer.setLooping(true);

        changeStatusTo(IGifPlayer.IStatus.PREPARING);
        mediaPlayer.prepareAsync();
    } catch (Exception e) {
        changeStatusTo(IGifPlayer.IStatus.INIT);
        throw new PlayerPrepareException();
    }
}
 
开发者ID:PhoenixDevTeam,项目名称:Phoenix-for-VK,代码行数:20,代码来源:DefaultGifPlayer.java

示例6: playInstruction

import android.media.MediaPlayer; //导入方法依赖的package包/类
private void playInstruction(String instruction) {
  if (!TextUtils.isEmpty(instruction)) {
    pollyMediaPlayer = new MediaPlayer();
    setDataSource(instruction);
    pollyMediaPlayer.prepareAsync();
    setListeners();
  }
}
 
开发者ID:mapbox,项目名称:mapbox-navigation-android,代码行数:9,代码来源:PollyPlayer.java

示例7: toggle

import android.media.MediaPlayer; //导入方法依赖的package包/类
public boolean toggle(int id, VoiceMessage audio) throws PrepareException {
    if (Objects.nonNull(mPlayingEntry) && mPlayingEntry.getId() == id) {
        setSupposedToPlay(!isSupposedToPlay());
        return false;
    }

    stop();

    mPlayingEntry = new AudioEntry(id, audio);
    mDuration = audio.getDuration() * 1000;
    mPlayer = new MediaPlayer();

    try {
        mPlayer.setDataSource(mPlayingEntry.getAudio().getLinkMp3());
    } catch (IOException e) {
        throw new PrepareException();
    }

    mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mPlayer.setOnPreparedListener(this);
    mPlayer.setOnErrorListener(this);
    mPlayer.setOnCompletionListener(this);

    mSupposedToPlay = true;
    changeStatusTo(STATUS_PREPARING);

    mPlayer.prepareAsync();
    return true;
}
 
开发者ID:PhoenixDevTeam,项目名称:Phoenix-for-VK,代码行数:30,代码来源:DefaultVoicePlayer.java

示例8: prepare

import android.media.MediaPlayer; //导入方法依赖的package包/类
@Override
public void prepare() {
    try {
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        if (dataSourceObjects.length > 1) {
            mediaPlayer.setLooping((boolean) dataSourceObjects[1]);
        }
        mediaPlayer.setOnPreparedListener(JZMediaSystem.this);
        mediaPlayer.setOnCompletionListener(JZMediaSystem.this);
        mediaPlayer.setOnBufferingUpdateListener(JZMediaSystem.this);
        mediaPlayer.setScreenOnWhilePlaying(true);
        mediaPlayer.setOnSeekCompleteListener(JZMediaSystem.this);
        mediaPlayer.setOnErrorListener(JZMediaSystem.this);
        mediaPlayer.setOnInfoListener(JZMediaSystem.this);
        mediaPlayer.setOnVideoSizeChangedListener(JZMediaSystem.this);
        Class<MediaPlayer> clazz = MediaPlayer.class;
        Method method = clazz.getDeclaredMethod("setDataSource", String.class, Map.class);
        if (dataSourceObjects.length > 2) {
            method.invoke(mediaPlayer, currentDataSource.toString(), dataSourceObjects[2]);
        } else {
            method.invoke(mediaPlayer, currentDataSource.toString(), null);
        }
        mediaPlayer.prepareAsync();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:monkeywiiu,项目名称:Discover,代码行数:29,代码来源:JZMediaSystem.java

示例9: startPlayMusic

import android.media.MediaPlayer; //导入方法依赖的package包/类
/**
 * 开始播放音乐
 * @param path 音乐绝对路径
 */
private void startPlayMusic(String path){
    try {
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mMediaPlayer.setOnPreparedListener(preparedListener);
        mMediaPlayer.setDataSource(path);
        mMediaPlayer.prepareAsync();
    }catch (Exception e) {
        LogUtils.error(e.toString());
    }
}
 
开发者ID:mainh,项目名称:MainCalendar,代码行数:16,代码来源:FilePicker.java

示例10: blastTheAlarm

import android.media.MediaPlayer; //导入方法依赖的package包/类
private void blastTheAlarm(String mediaUrl) {
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);

    try {
        mMediaPlayer.setDataSource(mediaUrl);
    } catch (IOException e) {
        Log.e(TAG, String.format("Error playing media from URL: %s", mediaUrl));
    }

    setAlarmToMaxVolume();
    mMediaPlayer.prepareAsync();
    mMediaPlayer.setOnPreparedListener(mp -> mMediaPlayer.start());
}
 
开发者ID:KevinLiddle,项目名称:crockpod,代码行数:15,代码来源:AlarmRingingActivity.java

示例11: onPostExecute

import android.media.MediaPlayer; //导入方法依赖的package包/类
@Override
protected void onPostExecute(Boolean result) {
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mMediaPlayer.setOnCompletionListener(PlayerService.this);
    mMediaPlayer.setOnPreparedListener(PlayerService.this);
    mMediaPlayer.setOnErrorListener(PlayerService.this);
    mMediaPlayer.setOnInfoListener(PlayerService.this);
    mMediaPlayer.setOnBufferingUpdateListener(PlayerService.this);
    mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK); // needs android.permission.WAKE_LOCK

    try {
        //mMediaPlayer.setDataSource(mStreamUri);
        if (result) {
            // stream is HLS - do not extract metadata
            mMediaPlayer.setDataSource(mStreamUri);
        } else {
            // normal stream - extract metadata
            //mMetadataHelper = new MetadataHelper(getApplicationContext(), mStation);
            MetadataHelper.prepareMetadata(mStreamUri, mStation, getApplicationContext());
            mMediaPlayer.setDataSource(mStreamUri);

            //mMediaPlayer.setDataSource(mMetadataHelper.getShoutcastProxy());
        }

        mMediaPlayer.prepareAsync();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
开发者ID:malah-code,项目名称:Open-Quran-Radio,代码行数:31,代码来源:PlayerService.java

示例12: play

import android.media.MediaPlayer; //导入方法依赖的package包/类
/**
 * start playing audio
 *
 * @param uriOrName
 * @param loopTimes
 * @return
 */
public synchronized UDAudio play(String uriOrName, Integer loopTimes) {
    stopAndReset();

    if (uriOrName != null && uriOrName.equals(this.mUriOrName) == false) {//url 不同
        this.mUriOrName = uriOrName;
    }

    if (loopTimes != null) {
        this.mLoopTimes = loopTimes;
    }

    if (this.mUriOrName != null) {
        final MediaPlayer player = getMediaPlayer();
        if (player != null && player.isPlaying() == false) {
            String uri = null;
            boolean assetFileExist = false;
            if (URLUtil.isNetworkUrl(this.mUriOrName) || URLUtil.isFileUrl(this.mUriOrName) || URLUtil.isAssetUrl(this.mUriOrName)) {//net & file & asset
                uri = this.mUriOrName;
            } else {//plain text, use as file path
                uri = getLuaResourceFinder().buildFullPathInBundleOrAssets(this.mUriOrName);
                assetFileExist = AssetUtil.exists(getContext(), uri);
            }
            try {
                if (assetFileExist) {
                    final AssetFileDescriptor descriptor = getContext().getAssets().openFd(uri);
                    player.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
                } else {
                    player.setDataSource(uri);
                }
                player.setOnErrorListener(this);
                player.setOnCompletionListener(this);
                player.setOnPreparedListener(this);
                player.setLooping((this.mLoopTimes != null && this.mLoopTimes > 1) ? true : false);
                player.prepareAsync();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    return this;
}
 
开发者ID:alibaba,项目名称:LuaViewPlayground,代码行数:50,代码来源:UDAudio.java


注:本文中的android.media.MediaPlayer.prepareAsync方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。