안드로이드 개발 질문/답변
(글 수 45,052)
구글에 있는 기본 탭예제에 탭항목에 비디오 뷰어를 넣었는데 계속 56%에서 멈춥니다. 이유를 잘 모르겠어요ㅠ
(캡쳐하니깐 동영상은 보이지가 않네요?)
(멈춘 부분부터 붉은 색테두리입니다.)
캡쳐한 것과 같은 log는 아니지만
07-16 10:22:05.297: DEBUG/dalvikvm(3666): GC freed 4 objects / 160 bytes in 71ms
캡쳐한 것과 같은 log는 아니지만
07-16 10:22:05.297: DEBUG/dalvikvm(3666): GC freed 4 objects / 160 bytes in 71ms
07-16 10:22:10.312: DEBUG/dalvikvm(1815): GC freed 5455 objects / 245368 bytes in 90ms
07-16 10:22:28.758: INFO/ActivityManager(1444): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=sb.rapa.test0713/.Test0713 bnds=[125,252][235,370] }
07-16 10:22:28.984: DEBUG/MediaPlayer(4553): Couldn't open file on client side, trying server side
07-16 10:22:29.000: DEBUG/omx_interface(1202): TIOMXInterface: creating interface
07-16 10:22:29.000: DEBUG/omx_interface(1202): Calling DLOPEN on OMX_CORE_LIBRARY (libOMX_Core.so)
07-16 10:22:29.000: DEBUG/omx_interface(1202): DLOPEN SUCCEEDED (libOMX_Core.so)
07-16 10:22:29.000: DEBUG/omx_interface(1202): TIOMXInterface: library lookup success
07-16 10:22:29.008: DEBUG/TIOMX_CORE(1202): init count = 1
07-16 10:22:29.047: INFO/ActivityManager(1444): Displayed activity sb.rapa.test0713/.Test0713: 234 ms (total 234 ms)
07-16 10:22:29.195: DEBUG/DrmService(3728): Auth Update1279243349
07-16 10:22:34.133: DEBUG/dalvikvm(3728): GC freed 103 objects / 28888 bytes in 79ms
07-16 10:22:34.274: INFO/PlayerDriver(1202): buffering (1)
07-16 10:22:34.320: DEBUG/TIOverlay(1444): overlay_createOverlay:IN w=320 h=240 format=22
07-16 10:22:34.328: INFO/Overlay(1444): v4l2_overlay_init:: w=480 h=854
07-16 10:22:34.328: INFO/Overlay(1444): v4l2_overlay_init:: w=320 h=240
07-16 10:22:34.328: INFO/Overlay(1444): v4l2_overlay_init:: w=320 h=240
07-16 10:22:34.359: INFO/Overlay(1444): 8 buffers allocated 4 requested
07-16 10:22:34.359: INFO/Overlay(1444): buffer cookie is 2
07-16 10:22:34.359: INFO/TIOverlay(1444): Opened video1/fd=110/obj=0064bf70/shm=37/size=4096
07-16 10:22:34.359: DEBUG/TIOverlay(1444): overlay_createOverlay: OUT
07-16 10:22:34.359: DEBUG/SurfaceFlinger(1444): commiting overlay changes
07-16 10:22:34.359: INFO/TIOverlay(1444): Position/X0/Y0/W0/H0
07-16 10:22:34.359: INFO/TIOverlay(1444): Adjusted Position/X15/Y186/W450/H0
07-16 10:22:34.359: INFO/TIOverlay(1444): Rotation/0
07-16 10:22:34.359: INFO/Overlay(1444): v4l2_overlay_set_position:: w=480 h=854
07-16 10:22:34.359: INFO/Overlay(1444): v4l2_overlay_set_position:: w=450 h=652
07-16 10:22:34.359: INFO/Overlay(1444): dumping driver state:
07-16 10:22:34.359: INFO/Overlay(1444): output pixfmt:
07-16 10:22:34.359: INFO/Overlay(1444): w: 320
07-16 10:22:34.359: INFO/Overlay(1444): h: 240
07-16 10:22:34.359: INFO/Overlay(1444): color: 7
07-16 10:22:34.359: INFO/Overlay(1444): UYVY
07-16 10:22:34.359: INFO/Overlay(1444): v4l2_overlay window:
07-16 10:22:34.359: INFO/Overlay(1444): window l: 15
07-16 10:22:34.359: INFO/Overlay(1444): window t: 186
07-16 10:22:34.359: INFO/Overlay(1444): window w: 450
07-16 10:22:34.359: INFO/Overlay(1444): window h: 652
07-16 10:22:34.359: INFO/Overlay(1444): output crop:
07-16 10:22:34.359: INFO/Overlay(1444): crop l: 0
07-16 10:22:34.359: INFO/Overlay(1444): crop t: 0
07-16 10:22:34.359: INFO/Overlay(1444): crop w: 320
07-16 10:22:34.359: INFO/Overlay(1444): crop h: 240
07-16 10:22:34.359: INFO/TIOverlay(1444): Postponing Stream Enable/1/0
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=0
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=1
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=2
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=3
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=4
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=5
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=6
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=7
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=0
07-16 10:22:34.367: INFO/TIOverlay(1202): Buffer/0/addr=410a2000/len=155648
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=1
07-16 10:22:34.367: INFO/TIOverlay(1202): Buffer/1/addr=410c8000/len=155648
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=2
07-16 10:22:34.367: INFO/TIOverlay(1202): Buffer/2/addr=410ee000/len=155648
07-16 10:22:34.367: INFO/Overlay(1202): query buffer, mem=1 type=2 index=3
07-16 10:22:34.367: INFO/TIOverlay(1202): Buffer/3/addr=41114000/len=155648
07-16 10:22:34.383: INFO/Overlay(1202): query buffer, mem=1 type=2 index=4
07-16 10:22:34.383: INFO/TIOverlay(1202): Buffer/4/addr=4113a000/len=155648
07-16 10:22:34.383: INFO/Overlay(1202): query buffer, mem=1 type=2 index=5
07-16 10:22:34.383: INFO/TIOverlay(1202): Buffer/5/addr=41160000/len=155648
07-16 10:22:34.383: DEBUG/SurfaceFlinger(1444): commiting overlay changes
07-16 10:22:34.383: INFO/TIOverlay(1444): Position/X15/Y186/W450/H653
07-16 10:22:34.383: INFO/TIOverlay(1444): Adjusted Position/X15/Y344/W450/H653
07-16 10:22:34.383: INFO/TIOverlay(1444): Rotation/0
07-16 10:22:34.383: INFO/Overlay(1444): v4l2_overlay_set_position:: w=450 h=652
07-16 10:22:34.383: INFO/Overlay(1444): v4l2_overlay_set_position:: w=450 h=338
07-16 10:22:34.383: INFO/Overlay(1444): dumping driver state:
07-16 10:22:34.383: INFO/Overlay(1444): output pixfmt:
07-16 10:22:34.383: INFO/Overlay(1444): w: 320
07-16 10:22:34.383: INFO/Overlay(1444): h: 240
07-16 10:22:34.383: INFO/Overlay(1444): color: 7
07-16 10:22:34.383: INFO/Overlay(1444): UYVY
07-16 10:22:34.383: INFO/Overlay(1444): v4l2_overlay window:
07-16 10:22:34.383: INFO/Overlay(1444): window l: 15
07-16 10:22:34.383: INFO/Overlay(1444): window t: 344
07-16 10:22:34.383: INFO/Overlay(1444): window w: 450
07-16 10:22:34.383: INFO/Overlay(1444): window h: 338
07-16 10:22:34.383: INFO/Overlay(1444): output crop:
07-16 10:22:34.383: INFO/Overlay(1444): crop l: 0
07-16 10:22:34.383: INFO/Overlay(1444): crop t: 0
07-16 10:22:34.383: INFO/Overlay(1444): crop w: 320
07-16 10:22:34.383: INFO/Overlay(1444): crop h: 240
07-16 10:22:34.383: INFO/TIOverlay(1444): Postponing Stream Enable/1/0
07-16 10:22:34.570: INFO/Overlay(1202): v4l2_overlay_init:: w=320 h=240
07-16 10:22:34.570: INFO/Overlay(1202): v4l2_overlay_init:: w=320 h=240
07-16 10:22:34.570: INFO/Overlay(1202): v4l2_overlay_init:: w=320 h=240
07-16 10:22:34.570: INFO/Overlay(1202): 8 buffers allocated 4 requested
07-16 10:22:34.570: INFO/Overlay(1202): buffer cookie is 2
07-16 10:22:34.570: INFO/Overlay(1202): query buffer, mem=1 type=2 index=0
07-16 10:22:34.578: INFO/Overlay(1202): query buffer, mem=1 type=2 index=1
07-16 10:22:34.578: WARN/MediaPlayer(4553): info/warning (1, 44)
07-16 10:22:34.578: INFO/Overlay(1202): query buffer, mem=1 type=2 index=2
07-16 10:22:34.586: INFO/Overlay(1202): query buffer, mem=1 type=2 index=3
07-16 10:22:34.586: INFO/Overlay(1202): query buffer, mem=1 type=2 index=4
07-16 10:22:34.586: INFO/Overlay(1202): query buffer, mem=1 type=2 index=5
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=6
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=7
07-16 10:22:34.594: INFO/TIOverlay(1202): Postponing Stream Enable/1/0
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=0
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/0/addr=410a2000/len=155648
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=1
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/1/addr=410c8000/len=155648
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=2
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/2/addr=410ee000/len=155648
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=3
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/3/addr=41114000/len=155648
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=4
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/4/addr=4113a000/len=155648
07-16 10:22:34.594: INFO/Overlay(1202): query buffer, mem=1 type=2 index=5
07-16 10:22:34.594: INFO/TIOverlay(1202): Buffer/5/addr=41160000/len=155648
07-16 10:22:34.617: INFO/MediaPlayer(4553): Info (1,44)
07-16 10:22:35.032: DEBUG/MediaPlayer(4553): getMetadata
07-16 10:22:35.094: DEBUG/AudioHardwareMot(1202): AudioMgr:Output 0xb5f8 exiting standby
07-16 10:22:35.164: INFO/PlayerDriver(1202): buffering (12)
07-16 10:22:35.164: INFO/PlayerDriver(1202): buffering (12)
07-16 10:22:39.664: DEBUG/dalvikvm(3706): GC freed 4 objects / 152 bytes in 200ms
07-16 10:22:44.492: DEBUG/dalvikvm(3673): GC freed 4 objects / 168 bytes in 91ms
07-16 10:22:46.195: INFO/PlayerDriver(1202): buffering (56)
07-16 10:22:56.203: INFO/PlayerDriver(1202): buffering (56)
07-16 10:23:05.547: DEBUG/dalvikvm(3784): GC freed 15 objects / 632 bytes in 115ms
07-16 10:23:08.177: INFO/PlayerDriver(1202): buffering (56)
07-16 10:23:10.508: DEBUG/dalvikvm(3764): GC freed 4 objects / 160 bytes in 77ms
07-16 10:23:15.531: DEBUG/dalvikvm(3737): GC freed 4 objects / 160 bytes in 98ms
07-16 10:23:18.203: INFO/PlayerDriver(1202): buffering (56)
07-16 10:23:30.172: INFO/PlayerDriver(1202): buffering (56)
07-16 10:23:31.500: DEBUG/AudioHardwareMot(1202): AudioMgr:AudioStreamOutMot::standby called
07-16 10:23:31.500: DEBUG/AudioHardwareMot(1202): AudioMgr:Output 0xb5f8 entering standby
07-16 10:23:31.510: DEBUG/AudioHardwareMot(1202): AudioMgr:Closing stereo device
메니페스트입니다.
동영상 플레이하는 액티비티입니다.
탭을 보여주는 메인 액티비티입니다.
메니페스트입니다.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="sb.rapa.test0713" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Test0713" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".CaptureActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> <activity android:name=".CurrentActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> <activity android:name=".VideoActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> </application> </manifest>
동영상 플레이하는 액티비티입니다.
public class CurrentActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.currentview); VideoView video = (VideoView)findViewById(R.id.currentview_id); video.setVideoPath("http://220.68.69.236/video/bh.wmv"); video.start(); } }
탭을 보여주는 메인 액티비티입니다.
public class Test0713 extends TabActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TabHost tabHost = getTabHost(); TabHost.TabSpec spec; Intent intent; //Current View Tab intent = new Intent().setClass(this, CurrentActivity.class); spec = tabHost.newTabSpec("tab00").setIndicator("Current View").setContent(intent); tabHost.addTab(spec); //1.새로 고침을 추가해서 동영상이 멈췄을 경우에 대비할 것 //Capture View Tab intent = new Intent().setClass(this, CaptureActivity.class); spec = tabHost.newTabSpec("tab01").setIndicator("Capture View").setContent(intent); tabHost.addTab(spec); //Video View Tab intent = new Intent().setClass(this, VideoActivity.class); spec = tabHost.newTabSpec("tab02").setIndicator("Video View").setContent(intent); tabHost.addTab(spec); tabHost.setCurrentTab(0); } }