Androidオープンソースオンライン音楽プレーヤー
カバー図:
概要波尼音楽はオープンソースのAndroidオンライン音楽プレーヤーです。 ローカル音楽とオンライン音楽を再生する オンライン音楽ランキング、例えば、熱歌ランキング、新曲ランキングなどの 。.クラウドミュージックを彷彿とさせる黒のレコードのジャケット 。歌詞表示、自動検索歌詞 ナイトモード タイミングオフ
説明を更新します
v 1.0
First Release
TODO
オンライン音楽は無料で私の音楽リストに追加できます。
オンライン音楽の自動キャッシュ
音楽情報を編集する
プロジェクト公開API
オンライン音楽:Baiduの音楽
天気データ:高徳地図
オープンソース技術
http-utils
Android-Universal-Ingel-loader
キーコード
レコードのジャケットの描画プロセス
概要
v 1.0
First Release
TODO
オンライン音楽は無料で私の音楽リストに追加できます。
オンライン音楽の自動キャッシュ
音楽情報を編集する
プロジェクト公開API
オンライン音楽:Baiduの音楽
天気データ:高徳地図
オープンソース技術
http-utils
Android-Universal-Ingel-loader
キーコード
レコードのジャケットの描画プロセス
@Override
protected void onDraw(Canvas canvas) {
// 1.
mTopLine.setBounds(0, getTop(), getWidth(), getTop() + mTopLineHeight);
mTopLine.draw(canvas);
// 2.
mCoverBorder.setBounds(mDiscPoint.x - mCoverBorderWidth, mDiscPoint.y - mCoverBorderWidth,
mDiscPoint.x + mDiscBitmap.getWidth() + mCoverBorderWidth, mDiscPoint.y +
mDiscBitmap.getHeight() + mCoverBorderWidth);
mCoverBorder.draw(canvas);
// 3.
// ,setRotate preTranslate
mDiscMatrix.setRotate(mDiscRotation, mDiscCenterPoint.x, mDiscCenterPoint.y);
//
mDiscMatrix.preTranslate(mDiscPoint.x, mDiscPoint.y);
canvas.drawBitmap(mDiscBitmap, mDiscMatrix, null);
// 4.
mCoverMatrix.setRotate(mDiscRotation, mCoverCenterPoint.x, mCoverCenterPoint.y);
mCoverMatrix.preTranslate(mCoverPoint.x, mCoverPoint.y);
canvas.drawBitmap(mCoverBitmap, mCoverMatrix, null);
// 5.
mNeedleMatrix.setRotate(mNeedleRotation, mNeedleCenterPoint.x, mNeedleCenterPoint.y);
mNeedleMatrix.preTranslate(mNeedlePoint.x, mNeedlePoint.y);
canvas.drawBitmap(mNeedleBitmap, mNeedleMatrix, null);
}
歌詞の制作プロセス
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Y
float centerY = getHeight() / 2 + mTextSize / 2 + mAnimOffset;
//
if (!hasLrc()) {
float centerX = (getWidth() - mCurrentPaint.measureText(label)) / 2;
canvas.drawText(label, centerX, centerY, mCurrentPaint);
return;
}
//
String currStr = mLrcTexts.get(mCurrentLine);
float currX = (getWidth() - mCurrentPaint.measureText(currStr)) / 2;
canvas.drawText(currStr, currX, centerY, mCurrentPaint);
//
for (int i = mCurrentLine - 1; i >= 0; i--) {
String upStr = mLrcTexts.get(i);
float upX = (getWidth() - mNormalPaint.measureText(upStr)) / 2;
float upY = centerY - (mTextSize + mDividerHeight) * (mCurrentLine - i);
//
if (upY - mTextSize < 0) {
break;
}
canvas.drawText(upStr, upX, upY, mNormalPaint);
}
//
for (int i = mCurrentLine + 1; i < mLrcTimes.size(); i++) {
String downStr = mLrcTexts.get(i);
float downX = (getWidth() - mNormalPaint.measureText(downStr)) / 2;
float downY = centerY + (mTextSize + mDividerHeight) * (i - mCurrentLine);
//
if (downY > getHeight()) {
break;
}
canvas.drawText(downStr, downX, downY, mNormalPaint);
}
}
以上はAndroid開源オンライン音楽プレーヤーの資料整理です。引き続き関連資料を補充します。ありがとうございます。