package com.itap.voiceemoticon.media;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
public class MusicData implements Parcelable {
public final static String KEY_MUSIC_DATA = "musicData";
private final static String KEY_MUSIC_NAME = "musicName";
private final static String KEY_MUSIC_TIME = "musicTime";
private final static String KEY_MUSIC_DURATION = "musicDuration";
private final static String KEY_MUSIC_PATH = "musicPath";
public String musicName;
public int musicCurTime;
public int musicDuration;
public String musicPath;
public MusicData() {
musicName = "";
musicCurTime = 0;
musicDuration = 0;
musicPath = "";
}
public String getFirstLetterInUpcase() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
String str = PinyinHelper.toHanyuPinyinString(musicName, format, "");
if (str != null && str.length() > 0) {
if (Character.isLetter(str.toCharArray()[0])) {
return ((String) str.subSequence(0, 1)).toUpperCase();
}
}
return "?";
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
Bundle mBundle = new Bundle();
mBundle.putString(KEY_MUSIC_NAME, musicName);
mBundle.putInt(KEY_MUSIC_TIME, musicCurTime);
mBundle.putString(KEY_MUSIC_PATH, musicPath);
mBundle.putInt(KEY_MUSIC_DURATION, musicDuration);
dest.writeBundle(mBundle);
}
public static final Parcelable.Creator<MusicData> CREATOR = new Parcelable.Creator<MusicData>() {
@Override
public MusicData createFromParcel(Parcel source) {
MusicData data = new MusicData();
Bundle mBundle = new Bundle();
mBundle = source.readBundle();
data.musicName = mBundle.getString(KEY_MUSIC_NAME);
data.musicCurTime = mBundle.getInt(KEY_MUSIC_TIME);
data.musicPath = mBundle.getString(KEY_MUSIC_PATH);
data.musicDuration = mBundle.getInt(KEY_MUSIC_DURATION);
return data;
}
@Override
public MusicData[] newArray(int size) {
return new MusicData[size];
}
};
public CharSequence getTimerText() {
if (musicDuration == 0) {
return "00:00/00:00";
}
int curTime = musicCurTime / 1000;
int totalTime = musicDuration / 1000;
int curminute = curTime / 60;
int cursecond = curTime % 60;
int totalminute = totalTime / 60;
int totalsecond = totalTime % 60;
String curTimeString = String.format("%02d:%02d", curminute, cursecond);
String totalTimeString = String.format("%02d:%02d", totalminute, totalsecond);
curTimeString = curTimeString + "/" + totalTimeString;
long end = System.currentTimeMillis();
return curTimeString;
}
public int getProgress() {
if (musicDuration == 0) {
return 0;
}
return (100 * musicCurTime) / musicDuration;
}
}