안드로이드 개발 질문/답변
(글 수 45,052)
sendButton 부분을 읽어주세요. 굵게 표시하겠습니다.
public class VideoTest extends Activity {
private Button pickVideoButton;
private Button sendButton;
private VideoView videoView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pickVideoButton = (Button)findViewById(R.id.pickButton);
sendButton = (Button)findViewById(R.id.sendButton);
videoView = (VideoView)findViewById(R.id.videoView);
pickVideoButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("video/*");
startActivityForResult(intent, 0);
}
});
sendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// MediaData에 Video의 파일명을 저장
String[] mediaData = {MediaStore.Video.Media.DISPLAY_NAME};
// 여기서부터 질문입니다. Cursor에 대한것은 잘 모르지만 여기서 잘못된 것은 없는거같아요
Cursor cursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaData, null, null, null);
// moveToPosition() 괄호 안에 지금 재생되는 파일의 위치가 들어가야될 것 같은데
어떻게 해야될지 모르겠어요. getCurrentPosition같은 함수가 있는것도 아닌거 같애요
if (cursor != null && cursor.moveToPosition(0)){
String title;
int ctitle = cursor.getColumnIndex(MediaStore.Video.Media.DISPLAY_NAME);
title = cursor.getString(ctitle);
Log.d("DUR", ""+title);
}
// 여기서는 getCurrentPosition 함수를 이용하여 현재 재생시간을 얻는 부분입니다.
double m_duration=0;
m_duration = videoView.getCurrentPosition();
// Log.d("DUR", ""+m_duration);
System.out.println(m_duration);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==Activity.RESULT_OK && requestCode==0) {
Uri fileUri = data.getData();
videoView.setVideoURI(fileUri);
videoView.setMediaController(new MediaController(this));
}
}
}
결과적으로 제가 만드는 어플은 비디오를 재생하다가 버튼을 누르면 파일의 Title과 Time이 출력되는 것인데요
Time은 뽑았지만 Title을 뽑는 부분에서 질문이 있는 것입니다.
기초지식이 많이 없어서 힘드네요. 많은 도움 부탁드릴게요 .. ㅠㅠㅠ