編輯:關於Android編程
1、音樂播放器的界面文件:一個可以輸入播放音樂文件路徑的文本框,和四個按鈕:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:textSize="20sp" />
android:id="@+id/et_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:layout_width="fill_parent"
>
android:gravity="center_horizontal"//指定組件水平居中顯示
android:orientation="horizontal" >
android:id="@+id/play"
android:layout_width="0dip" //設置按鈕為寬度為0
android:layout_height="wrap_content"
android:layout_weight="1"//設置按鈕比重為1
android:text="播放" />
android:id="@+id/pause"
android:layout_width="0dip"
android:layout_height="wrap_content"
>
android:text="暫停" />
android:id="@+id/replay"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
>
android:id="@+id/stop"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="停止" />
2、播放器的播放、重播、暫停、停止操作。
①、播放:
//創建MediaPlayer對象
MediaPlayer>
//設置播放類型
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//設置播放文件的路徑
mPlayer.setDataSource(path);
// 注意:非常重要
mPlayer.prepare(); // 調用底層c代碼 完成>
}
});
//開始播放:
mPlayer.start();
②、暫停:
//mPlayer.isPlaying()判斷是否在播放
if (mPlayer !=>
>
}
/創建MediaPlayer對象
MediaPlayer>
//設置播放類型
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//設置播放文件的路徑
mPlayer.setDataSource(path);
// 注意:非常重要
mPlayer.prepare(); // 調用底層c代碼 完成>
}
});
//開始播放:
mPlayer.start();
④、停止:
if (mPlayer !=>
}
1、先解析 歌詞文件 .lrc文件。
①、歌詞文件的樣式為:
[00:01.93]小村之戀
[00:24.36]彎彎的小河青青的山岡
[00:31.53]依偎著小村莊
[00:35.82]藍藍的天空陣陣的花香
②、解析.lrc文件,一行行讀取歌詞,解析出時間和歌詞, 把時間作為key,對應的歌詞作為value,放到map集合中。
Map>
String>
>
>
String>
SimpleDateFormat>
Date>
System.out.println(>
Map.put(date,value );
2、在播放時顯示歌詞的具體操作:
public>
>
//用於修改歌詞的handler
>
@Override
>
//將時間作為key 在map中取出歌詞顯示:
}
};
@Override
>
>
>
>
>
>
>
>
>
>
>
>
}
>
>
>
}
>
>
}
play(path);
break;
}
}
private void play(String path) {
try {
>
>
}
});
mPlayer.start();
>
// >
//把音頻文件加載到聲音池裡面;返回id
//方法的參數1:上下文
參數2:指定聲音資源文件
參數3:
int>
}
//點擊開火的按鈕:
public void fire(View view){
//播放聲音池中聲音:play()方法
方法參數1:聲音的id
參數2:左聲道大小,
參數3:右聲道聲音大小,
參數4:指定優先級,0為最低。
參數5:指定聲音的播放模式,取值:0表示只播放一次,-1:永久循環播放。
參數6:指定聲音播放的速率。
soundpool.play(soundid,1.0f, 1.0f, 0, 0, 1.0f);
}
③、play()方法的調用是異步的。
零、概覽1.ViewPager說白了就是個控件,在使用時包名要帶全是Android.support.v4.view.ViewPager。由於我的ADT-Bundle版本比
Google提出了全新的設計規范Material Design,扁平化的設計,加上明亮的色彩,有一種美不勝收的感覺。Material Design翻譯過來叫做&ldquo
之前的10篇博文主要是記錄了Android4.2.2的SurfaceFlinger的相關內容,為何之前會投入那麼多的時間,原因就在於之前在看camera的架構時,遇到了本
大家好,今天給大家詳解一下Android中Activity的生命周期,我在前面也曾經講過這方面的內容,但是像網上大多數文章一樣,基本都是翻譯Android API,過於籠