Java 有没有办法在一个mediaplayer对象中播放mp3文件?

Java 有没有办法在一个mediaplayer对象中播放mp3文件?,java,android,android-studio,Java,Android,Android Studio,我可以在java android中使用Mediaplayer类播放声音。 我制作了一个像这样的Mediaplayer对象 Mediaplayer mp=Mediaplayer.create(this,R.raw.mysong); 然后开始,但如果我有一首以上的歌曲,必须播放呢。我需要为每个人制作对象吗。我想说的是,Mediaplayer类是否有任何方法或东西可以清除旧歌曲并播放新歌 希望你明白我说的 举个简单的例子,我真的很感激。像您所做的那样,只创建一个对象,但如下所示 Mediaplaye

我可以在java android中使用Mediaplayer类播放声音。 我制作了一个像这样的Mediaplayer对象

Mediaplayer mp=Mediaplayer.create(this,R.raw.mysong);
然后开始,但如果我有一首以上的歌曲,必须播放呢。我需要为每个人制作对象吗。我想说的是,Mediaplayer类是否有任何方法或东西可以清除旧歌曲并播放新歌

希望你明白我说的


举个简单的例子,我真的很感激。

像您所做的那样,只创建一个对象,但如下所示

Mediaplayer mp = new MediaPLayer();
更改数据源: 如果您的源是一个uri,只需将其传递给setDataSource,但如果它是原始文件夹中的一个资源,则使用它从该资源创建一个uri

    int resourceId = R.raw.other_song

    uri uriSound = Uri.Builder()
        .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
        .authority(resources.getResourcePackageName(resourceId))
        .appendPath(resources.getResourceTypeName(resourceId))
        .appendPath(resources.getResourceEntryName(resourceId))
        .build()

mp.setDataSource(this , uriSound)
准备并在需要时启动媒体播放器

mp.prepare()
mp.start()

您创建mediaplayer对象时不使用“.create”,如下所示 Mediaplayer mp=新的Mediaplayer(); 然后您只需设置它的源注意,源必须是uri格式 mp.setDataSource(这个,uri); 但在开始之前,你必须先做如下准备: mp.prepare(); 然后开始。 当您想再次更改源时,首先停止mp,然后设置另一个源 希望你得到它