1
의 클릭 이벤트에 sdcard에 음악을 재생하는 나는어떻게 커버 플로우 이미지
여기에 내가 sdcard에 노래를 재생하려면 온 클릭 이벤트와http://www.inter-fuser.com/2010/02/android-coverflow-widget-v2.html
, 나는 각각의 이미지를 클릭에 의미 커버 플로우 구현을위한 링크를 따라 coverflow SD 카드에서 differnet 노래를 연주하고 싶습니다.
아이디어를 공유하십시오.
도움말은 언제나 감사하겠습니다.
미리 감사드립니다.
coverFlow.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(CoverAdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
if (position == 0) {
// play song number1
} else if (position == 1) {
// play song number 2
}
}
});
나는이
public class Entertainment extends Activity {
ListView musiclist;
TextView CurrentPlying;
Cursor musiccursor;
int music_column_index;
int count;
MediaPlayer mMediaPlayer;
int seekBarState =0;
ImageButton rewindButton,playButton,forwardButton,stopButton;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.entertainment);
list_of_media_files();
Gallery addsgallery = (Gallery) findViewById(R.id.addsgallery);
addsgallery.setAdapter(new AddsViewAdaptor(this));
rewindButton = (ImageButton) findViewById(R.id.rewind);
playButton = (ImageButton) findViewById(R.id.play);
forwardButton = (ImageButton) findViewById(R.id.forward);
stopButton = (ImageButton) findViewById(R.id.stop);
playButton.setOnClickListener(new PlayButtonListner());
rewindButton.setOnClickListener(new RewindButtonListner());
forwardButton.setOnClickListener(new ForwardButtonListner());
stopButton.setOnClickListener(new StopButtonListner());
}
class PlayButtonListner implements View.OnClickListener{
public void onClick(View v) {
try{
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.pause();
}else{
mMediaPlayer.start();
}
}
catch(Exception ex){
Log.i("Exception", "Exception in mediaplayer e = " + ex);
}
}
}
public void onInit(int status) {
}
private void list_of_media_files() {
//System.gc();
String[] proj = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Video.Media.SIZE };
musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
proj, null, null, null);
count = musiccursor.getCount();
musiclist = (ListView) findViewById(R.id.PhoneMusicList);
musiclist.setAdapter(new MusicAdapter(this));
musiclist.setOnItemClickListener(musicgridlistener);
mMediaPlayer = new MediaPlayer();
}
private OnItemClickListener musicgridlistener = new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position,
long id) {
//System.gc();
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
musiccursor.moveToPosition(position);
String filename = musiccursor.getString(music_column_index);
// CurrentPlying =(TextView) findViewById(R.id.currentSong);
//CurrentPlying.setText(music_column_index);
try {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.reset();
}
mMediaPlayer.setDataSource(filename);
mMediaPlayer.prepare();
mMediaPlayer.start();
} catch (Exception e) {
}
}
};
public class MusicAdapter extends BaseAdapter {
private Context mContext;
public MusicAdapter(Context c) {
mContext = c;
}
public int getCount() {
return count;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
System.gc();
TextView tv = new TextView(mContext);
String id = null;
if (convertView == null) {
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME);
musiccursor.moveToPosition(position);
id = musiccursor.getString(music_column_index);
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE);
musiccursor.moveToPosition(position);
id += " Size(KB):" + musiccursor.getString(music_column_index);
tv.setText(id);
} else
tv = (TextView) convertView;
return tv;
}
}
class RewindButtonListner implements View.OnClickListener{
public void onClick(View v) {
try{
if (mMediaPlayer.isPlaying()) {
seekBarState=mMediaPlayer.getCurrentPosition();
mMediaPlayer.seekTo(seekBarState-300);
}else{
mMediaPlayer.start();
}
}
catch(Exception ex){
Log.i("Exception", "Exception in mediaplayer e = " + ex);
}
}
}
class ForwardButtonListner implements View.OnClickListener{
public void onClick(View v) {
try{
if (mMediaPlayer.isPlaying()) {
seekBarState=mMediaPlayer.getCurrentPosition();
mMediaPlayer.seekTo(seekBarState+300);
}else{
mMediaPlayer.start();
}
}
catch(Exception ex){
Log.i("Exception", "Exception in mediaplayer e = " + ex);
}
}
}
class StopButtonListner implements View.OnClickListener{
public void onClick(View v) {
try{
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
mMediaPlayer.reset();
};
}
catch(Exception ex){
Log.i("Exception", "Exception in mediaplayer e = " + ex);
}
}
}
}
덕분에이 코드를 다음 있어요 빠른 답장을 위해, 그러나 나는 목록에 노래를 저장하고 연주하는 것을 혼란스러워한다. Coverflow의 onclick과 그들. 나는 그것을 시도 할 것이고, 잠시 동안 당신의 대답을 잠시 멈추게 할 수 있습니다. 다시 감사합니다 – Randroid
당신은 노래 이름 목록을 가질 수 있습니다 .... 그래서 그 목록에 따라 노래를 재생할 수 있습니다 – MAC
당신이 노래를 연주하는 방법을 코드를 게시 할 수 있습니다 .... 그래서 내가 설명 할 수 ... – MAC