Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
ApiDemo에서 MediaPlayer 질문입니다.
작성자
작성일 2008-11-28 (금) 15:34
ㆍ추천: 0  ㆍ조회: 40161      
IP: 59.xxx.76
방금 전에 질문 올리고 회색님께서 금방 힌트를 주셔서 잘 해결했습니다.
 
그래서 ApiDemo를 올리는 문제는 해결 했는데영, video player를 돌려보려구해서 해봤는데 소리는 나는데 화면이 보이질 않습니다. ㅜㅜ (아웅...)
 
스트리밍 url이나 file path를 연결해줘야 하는데 잘 안되어서 local music player 예제를 참고해서
 
raw 폴더에 3gp파일을 넣고 코드를 아래와 같이 해서
 
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer = MediaPlayer.create(this, R.raw.airplane);  //파일명을 747 -> airplane으로 바꾼 것 뿐..
            mMediaPlayer.setDisplay(holder);
            mMediaPlayer.start();
            mMediaPlayer.setOnBufferingUpdateListener(this);
            mMediaPlayer.setOnCompletionListener(this);
            mMediaPlayer.setOnPreparedListener(this);
 
해보았는데영.. 소리만 납니다..흑.. 
 
혹시 제가 가지고 있는 파일에 문제가 있는건가 싶어서 (혹은 비디오 코덱 지원이 안되나. 싶어서.)
 
요기 까페의 안드로이드App. 메뉴에 있는 비디오 플레이어 프로그램에 있는 747.3gp파일을 돌려보았거든요.
 
뭐가 문제인 걸까요? 안드로이드에서 비디오 코덱 지원이 되는 것은 맞지요? 아님 코덱을 따로 연결해서 써야 되는건지? 
 
audioplayer에서 mp3는 잘 되던데.....
 
혹시 안드로이드에서의 코덱 지원사항에 대해서 확실하게 알 수 있는 문서나 그런게 있을까요? 도움 부탁드립니다.... 꾸벅..  
 
아 참, 그리고 url연결을 해서도 해보고 싶은데 path =" http://daily3gp.com/vids/747.3gp " 이렇게만 바꾸면 되나요?
 
그리고 local path를 연결해주려면 어떻게 해야하는지 궁금합니다. (에뮬의 어떤 폴더에 넣어야 한다던지... 실제로는 sd card에 넣고 플레이 하라고 되어있던데 에뮬에서는 어떻게 해야할까요?..)
 
초보자로서 이곳에서 정말 많은 도움 받고 있습니다. 또 도와주셔요~ ^^;; 감사합니다.
이름아이콘 인베인
2008-11-28 15:55
저도 기본 mp3는 플레이가 잘되던데, 3gp는 플레이 잘안되더군요.. 전 질문하는 처지가 아니라서 그냥 pending되어 있는 상태이었는데, 회색님의 멋진 답변을 기대합니다.
   
이름아이콘 회색
2008-11-28 16:29
-코덱은 H264, Mpeg4 Video 이렇게 지원된다고 보시면되구요.  즉 3gp로 되어있는 왠만한 파일은 거의다 둘중에 하나에 들어가기 때문에 지원 된다고 보시면됩니다.  
-리소스에 넣지 마시고 SDCARD같은데 넣으셔서 Video쪽 소스 path 넣는 쪽 코드 고쳐서 사용해보세요.
홍냥 네, 감사합니당~ ^^ SD card 넣는 방법은 아직 잘 모르지만, SD card emulation 관련된 자료가 있는것 같아 읽어보고 해보겠습니다. 그런데 리소스 폴더에 넣고 돌려서 그런걸까요? 비디오 파일이 그래도 재생은 되어야 할 것 같은데 왜 안되는걸까요? 확인해보니 mpeg4+amr 파일 이었거든요. 코덱지원이 안되거나 하는 파일이라면 혹시 로그같은 걸로 확인을 할 수 있는 방법이 있을까요? 여튼, 원래는 747.3gp파일이 재생이 되어야 된다는 말씀이시져? 제가 잘못한거라는.. ㅡㅜ.. 11/28 16:55
   
이름아이콘 홍냥
2008-11-28 17:02
혹시 몰라서 uri에 연결하여 해보아도 마찬가지로 소리만 들리네요..
   
이름아이콘 회색
2008-11-28 17:32
ApiDemo의 media MediaPlayerDemo_Video쪽 코드를 참고하시고 사용하세요 일단 위의 코드처럼 하면 소리밖에 안나는게 맞습니다.
홍냥 네, 아무래도 리소스에 추가한게 잘못된 것인가 보네요. 그래서 코드 원복하고 MediaPlayerDemo_Video 코드에서 윗부분은 원래대로 가고 path만 수정해서 해보려 하는데요. SD card를 연결해서 해보는데. 또 문제가 있네요.
mksdcard <size> <file> 를 사용해서 sd card 파일을 만들고
emulator -sdcard <filepath>를 하면,
이클립스에서 내가 돌리던 emul은 그대로 있고 다시 emul이 켜지는데.. sdcard를 emul에 올리려면 이렇게 하는 방법 뿐이 없는건지요?
그리구, 이렇게 해서 emul이 실행되면 아까처럼 cmd가 안먹어서 다른 cmd를 열어서 adb push 써서 파일 복사가 되는 것은 확인했는데
11/28 19:03
홍냥 패스에 path = "/sdcard/747.3gp" 이렇게 했는데 아무 동작도 안 일어나네요.
소리도 안나는 거로 봐서 경로 설정이 잘못된거 같은데 sd card에 올려서 경로 설정까지 뭐가 틀렸나요?
11/28 19:05
   
이름아이콘 인베인
2008-11-28 19:01
이렇게요??

//Pseudo Code to play gp3 file.
//http://code.google.com/android/samples/ApiDemos/AndroidManifest.html
// Specify SD-CARD Path.
File temp = File.createTempFile("invain",".gp3",this.getCacheDir() );
path = temp.getAbsolutePath());

if (path == "") {
   // Tell the user to provide a media file of SDCARD.
   echo "Please edit MediaPlayerDemo_Video Activity to play successfully,";
   break;
   }

// Create a new media player and set the listeners
MediaPlay = new MediaPlayer();
MediaPlay.setDataSource(path);
dialog.setMessage("set data source"+path);
dialog.show();
MediaPlay.setDisplay(holder);
MediaPlay.prepare();
MediaPlay.setOnBufferingUpdateListener(this);
MediaPlay.setOnCompletionListener(this);
MediaPlay.setOnPreparedListener(this);
MediaPlay.setAudioStreamType(AudioManager.STREAM_MUSIC);
홍냥 이렇게 하면 되나요? 지금 해보겠습니다. ..^^; 11/28 19:05
   
이름아이콘 회색
2008-11-29 16:12
홍냥님 에뮬은 하나만 뛰우놓고 작업하세요 (어디로 들어갔는지 알수가 없으니)
emul을 커맨드창에서 뛰우셨으면 그 커맨드 창 말고 다른 커맨드창에서 adb명령어를 실행하시기 바랍니다.
   
이름아이콘 재호아빠
2008-12-01 15:48
저도 간단하게 video player를 수행시켜보고 싶은데..
android source의 MediaplayerDemo_Video.java에 보니까..

private void playVideo(Integer Media){
...
 switch(Media) {
   case LOCAL_VIDEO:
        path="";
   ...

path가 아무값도 없네요.. path="/sdcard/" 이렇게 하면 sdcard의 media화일을 불러올줄 알았는데.. 화일명을 아예 지정해서 넣어야 하는건가요? ^^..너무 초보질문인가요?....
747.3gp및 mp4 video를 넣어도 아무반응이 없네요...
   
이름아이콘 재호아빠
2008-12-01 23:22
헉..실수...  path="//sdcard//747.3gp"  ==>  ^^ 정상 playback 되는군요..
   
이름아이콘 재호아빠
2008-12-02 13:01
수정된 system.img로 emulator에서는 화면도 잘 나오는데..
target 보드에서 해당 system./data img로 가지고 수행하니까..역시 소리만 나오는군요..
홍냥님 해결하셨나요?..저도 좀 알려주세요..

아래와 같은 logcat이 출력되는군요.. 아래 2줄의 error때문인듯 한데.. framebuffer heap이 원인인것 같은데.. /dev/pmem_adsp가 없다는게 원인인것 같습니다.
mmap을 잡지 못하는듯 하네요.. 원인이 뭔지 찾아야 될듯한데요
도움 부탁드립니다.. ~

I/ActivityManager(  739): Starting activity: Intent { comp={com.example.android.apis/com.example.android.apis.media.MediaPlayerDemo_Video} (has extras) }
D/MediaPlayerDemo(  855): surfaceCreated called
E/MemoryHeapBase(  718): error opening /dev/pmem_adsp: No such file or directory
E/VideoMIO(  718): Error creating frame buffer heap
D/MediaPlayerDemo(  855): surfaceChanged called
D/MediaPlayerDemo(  855): onPrepared called
I/ActivityManager(  739): Displayed activity com.example.android.apis/.media.MediaPlayerDemo_Video: 1080 ms
홍냥 앗, 도움 주셔서 감사합니다. 써주신 글 보고 다시 해보니까 저도 됩니다. 흑흑..ㅜ path가 아무래도 잘못 되었던것 같습니다. 그런데 저는 target 보드 없이 에뮬로만 해보고 있는 중이라서 해볼 수가 없는거라.. 재호아빠님께 도움이 못되어 드려서 너무 죄송합니다. ㅜㅜ 회사에서 타겟보드 사주면 그때 해볼 수 있을 것 같습니다. 12/2 14:01
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4753 안드로이드 풀빌드 준비 과정 중 질문입니다. 2008-11-24 9716
4752 개발자 등록 2008-11-24 8248
4751 Wifi Setting..... 2008-11-24 10344
4750 현재 화면 을 캡쳐 할수 있는 길이 있을까요? 2008-11-24 10921
4749 make sdk 2008-11-25 8323
4748 수동으로 빌드할때 오류~ 질문있습니다. 2008-11-25 10609
4747 Camera app 추가 방법 질문입니다. 2008-11-25 9338
4746 screen을 flip 하는 방법 (rotation) 문의 2008-11-25 10973
4745 Re..[오웬] Camera app 추가 방법 질문입니다. 2008-11-25 12385
4744 텍스트파일 읽기에 대해 질문드려요~ 2008-11-26 9671
4743 안드로이드 마켓 질문 2008-11-26 8138
4742 make sdk error2 2008-11-26 8417
4741 binder driver 관련 2008-11-26 12451
4740 touch 잡기...어떤과정을 거쳐야 하나요?? 2008-11-26 8962
4739 초보질문입니다... (gui선택버튼 관련) 2008-11-27 8178
4738 ListView의 아이템이 클릭이 안되요. 2008-11-27 8471
4737 Android Input device porting (keyboard,touch) 2008-11-27 11694
4736 퀄컴소스에 Dalvik porting 해보신 분 계신가요? 2008-11-27 9156
4735 다시 한번 질문을 드리겠습니다... 2008-11-27 10482
4734 에뮬에서 웹브라우저를 통해 어플리케이션 설치하기.. 2008-11-27 11301
4733 Android porting 관련 질문 2008-11-27 10978
4732 APIDemo uninstall하고 새로 install하려는데 안되요.... 2008-11-28 10642
4731 [Tips]에뮬 홈화면을 원하는 자기사진으로 꾸미기.. 2008-11-28 8473
4730 Full build시 특정 app을 제외시키는 script 같은 것이 있나요.. 2008-11-28 8987
4729 Smack 관련 질문드려요~ 2008-11-28 11065
4728 ApiDemo에서 MediaPlayer 질문입니다. 2008-11-28 40161
4727 타이머에 대해 질문있어요~ 2008-11-28 8478
4726 안드로이드 포팅 하드웨어 스펙 2008-11-28 8986
4725 G1을 어떻게 구할수 있을까요? 2008-11-28 7998
4724 소스를 debug모드로 빌드 시 에러나는 문제 2008-11-28 8278
4723 슬라이드를 열었을때 View가 변하지 않게하는 방법 아시나요?.. 2008-11-29 8509
4722 웹서버와 연동 질문입니다 2008-11-29 9444
4721 intent 질문입니다. ㅠ_ㅠ 2008-11-29 8484
4720 R 관련 질문하나 드려도 될까요? 2008-11-29 8439
4719 로컬 비디오 플레이 실행 질문~ 2008-12-01 8460
4718 double buffering 관련 질문. 2008-12-01 9190
4717 안드로이드 어플 + trace32 2008-12-01 8550
4716 apache xml-rpc 관련.. 2008-12-01 8254
4715 안드로이드 포팅 보드 구입 관련 질문 드려요 2008-12-01 8424
4714 에뮬테이터에 시간이 흐르지 않습니다. 왜그럴까요?.. 2008-12-02 8153
4713 android application 실행 문제 2008-12-02 12024
4712 NFS로 포팅관련 질문드립니다 2008-12-02 9560
4711 Full source에서 IM만 따로 build하려면 어떻게 하나요.??.. 2008-12-02 9248
4710 Re..NFS로 포팅관련 질문드립니다 2008-12-02 9352
4709 Android file system에 대한 질문입니다. 2008-12-03 9086
4708 MediaPlayer 관해서....ㅠㅠ 2008-12-03 10496
4707 HAL Library Porting 관련 질문! 2008-12-03 8932
4706 다시 질문 입니다....ㅜㅜ 2008-12-03 8486
4705 SDK 1.0과 full source code의 관계.?? 2008-12-04 9332
4704 좀 갈켜주세요..ㅠㅠ 2008-12-04 8084
12345678910,,,101