public final class MusicItem
extends java.lang.Object
implements android.os.Parcelable
如果需要存储额外的数据,可以使用 setExtra(Bundle)
方法与 getExtra()
方法。请不要往
MusicItem 中存储大对象,因为这会拖慢 Player.OnPlaylistChangeListener
的响应速度。
MusicItem.Builder
限定符和类型 | 类和说明 |
---|---|
static class |
MusicItem.Builder
用于构建
MusicItem 对象。 |
限定符 | 构造器和说明 |
---|---|
|
MusicItem()
构造一个 MusicItem 对象。
|
|
MusicItem(MusicItem source)
对
source 进行拷贝。 |
protected |
MusicItem(android.os.Parcel in)
Parcelable 专用。
|
限定符和类型 | 方法和说明 |
---|---|
int |
describeContents() |
boolean |
equals(java.lang.Object o)
忽略携带的
extra 数据。 |
java.lang.String |
getAlbum()
获取歌曲的专辑(NonNull)。
|
java.lang.String |
getArtist()
获取歌曲的艺术家(NonNull)。
|
int |
getDuration()
获取歌曲的持续时间。
|
android.os.Bundle |
getExtra()
获取携带的额外数据(Nullable)。
|
java.lang.String |
getIconUri()
获取歌曲图标的 Uri(NonNull)。
|
java.lang.String |
getMusicId()
获取歌曲的 music id(NonNull)。
|
java.lang.String |
getTitle()
获取歌曲的标题(NonNull)。
|
java.lang.String |
getUri()
获取歌曲的 Uri(NonNull)
|
int |
hashCode()
忽略携带的
extra 数据。 |
boolean |
isForbidSeek()
判断是否禁用了所有的 seek 操作。
|
void |
setAlbum(java.lang.String album)
设置歌曲的专辑(NonNull)。
|
void |
setArtist(java.lang.String artist)
设置歌曲的艺术家(NonNull)。
|
void |
setDuration(int duration)
设置歌曲的持续时间(播放时长)。
|
void |
setExtra(android.os.Bundle extra)
设置 MusicItem 携带的额外数据。
|
void |
setForbidSeek(boolean forbidSeek)
设置是否禁用所有的 seek 操作。
|
void |
setIconUri(java.lang.String iconUri)
设置歌曲图标的 Uri(NonNull)。
|
void |
setMusicId(java.lang.String musicId)
设置歌曲的 music id(NonNull)。
|
void |
setTitle(java.lang.String title)
设置歌曲的标题。
|
void |
setUri(java.lang.String uri)
设置歌曲的 Uri(NonNull)。
|
java.lang.String |
toString() |
void |
writeToParcel(android.os.Parcel dest,
int flags) |
public static final android.os.Parcelable.Creator<MusicItem> CREATOR
public MusicItem()
MusicItem.Builder
构造器来创建 MusicItem
对象,
而不是使用构造方法。public MusicItem(MusicItem source)
source
进行拷贝。
注意!不会对 source
携带的 Extra
进行深拷贝。
source
- 要拷贝的 MusicItem
对象protected MusicItem(android.os.Parcel in)
@NonNull public java.lang.String getMusicId()
public void setMusicId(@NonNull java.lang.String musicId)
musicId
- 要设置的值(NonNull)@NonNull public java.lang.String getTitle()
public void setTitle(@NonNull java.lang.String title)
title
- 要设置的标题(NonNull)@NonNull public java.lang.String getArtist()
public void setArtist(@NonNull java.lang.String artist)
artist
- 要设置的艺术家(NonNull)@NonNull public java.lang.String getAlbum()
public void setAlbum(@NonNull java.lang.String album)
album
- 要设置的专辑(NonNull)@NonNull public java.lang.String getUri()
public void setUri(@NonNull java.lang.String uri)
uri
- 要设置的 Uri(NonNull)@NonNull public java.lang.String getIconUri()
public void setIconUri(@NonNull java.lang.String iconUri)
iconUri
- 要设置的图标 Uri(NonNull)public int getDuration()
public void setDuration(int duration)
duration
- 歌曲的持续时间,小于 0 时,duration 的值将被设置为 0public boolean isForbidSeek()
默认为 false,如果该方法返回 true,则会同时禁用 seekTo、fastForward、rewind 操作。
setForbidSeek(boolean)
public void setForbidSeek(boolean forbidSeek)
如果设为 true,则会同时禁用 seekTo、fastForward、rewind 操作。如果你的音频文件是一个直播流(Live Stream), 建议禁用所有的 seek 操作。
forbidSeek
- 如果为 true,则会同时禁用 seekTo、fastForward、rewind 操作。isForbidSeek()
@Nullable public android.os.Bundle getExtra()
public void setExtra(@Nullable android.os.Bundle extra)
public boolean equals(java.lang.Object o)
extra
数据。equals
在类中 java.lang.Object
public int hashCode()
extra
数据。hashCode
在类中 java.lang.Object
public java.lang.String toString()
toString
在类中 java.lang.Object
public int describeContents()
describeContents
在接口中 android.os.Parcelable
public void writeToParcel(android.os.Parcel dest, int flags)
writeToParcel
在接口中 android.os.Parcelable