在状态栏statusbar上建立后台视频播放窗口,还有一步没跨过

ling 2011-12-01 02:26:07
在状态栏statusbar上建立后台视频播放窗口

在Status_bar.xml (\frameworks\base\packages\systemui\res\layout) 添加
<SurfaceView android:id="@+id/status_surface"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_gravity="top"/>

StatusBarService.java (frameworks\base\packages\systemui\src\com\android\systemui\statusbar)
mSurfaceView=(SurfaceView) sb.findViewById(R.id.status_surface);
mstatus_holder=mSurfaceView.getHolder();
mstatus_holder.addCallback(this);
执行下面的函数
public void prepareVideoPlayback() {
Log.v(TAG, "prepareVideoPlayback");
//mstatus_holder.setFixedSize(20, 20);
//mMediaPlayer.start();

doCleanUp();
try {
// Create a new media player and set the listeners
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(mstatus_holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
} catch (Exception e) {
Log.e(TAG, "error: " + e.getMessage(), e);
}
}
总是出现如下错误, mmap不能成功,我有试过往mstatus_holder上画图都是可以的, 但是mstatus_holder作为mediaplayer播放视频就是不行, 不知道为甚??

D/StatusBarService( 146): onPrepared called
V/StatusBarService( 146): startVideoPlayback
I/ActivityManager( 85): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.android.launcher/com.androi[ 186.224643] smdkv210_hw_params 123 rate=ac44
d.launcher2.Launcher } from pid 85
D/StatusBarService( [ 186.234017] DmaAddr=@4fee0000 Total=32768bytes PrdSz=8192 #Prds=4 dma_area=0xff048000
146): surfaceChanged called format=4;invalid video width(1920) or height(1080)
D/AudioHardware( 63): AudioHardware pcm playback is exiting standby.
D/AudioHardware( 63): openPcmOut_l() mPcmOpenCnt: 0
D/alsa_pcm( 63): pcm_open(0x0002f000)
D/alsa_pcm( 63): pcm_open(/dev/snd/pcmC0D0p)
D/AudioHardware( 63): openMixer_l() mMixerOpenCnt: 0
E/MemoryHeapBase( 63): mmap(fd=27, size=0,offset=u) failed ((null))
I/DEBUG ( 61): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 61): Build fingerprint: 'generic/full_smdkv210/smdkv210:2.3.1/GINGERBREAD/eng.xmxl.20111125.175343:eng/test-keys'
I/DEBUG ( 61): pid: 63, tid: 564 >>> /system/bin/mediaserver <<<
I/DEBUG ( 61): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr ffffffff
I/ServiceManager( 58): service 'media.camera' died
I/ServiceManager( 58): service 'media.audio_policy' died
I/ServiceManager( 58): service 'media.audio_flinger' died
I/ServiceManager( 58): service 'media.player' died
W/AudioSystem( 177): AudioPolicyService server died!
W/AudioSystem( 177): AudioFlinger server died!
W/AudioSystem( 85): AudioPolicyService server died!
W/AudioSystem( 85): AudioFlinger server died!
W/IMediaDeathNotifier( 85): media server died
W/AudioSystem( 146): AudioFlinger server died!
W/IMediaDeathNotifier( 146): media server died
E/MediaPlayer( 146): error (100, 0)
E/MediaPlayer( 146): Error (100,0)
D/StatusBarService( 146): onCompletion called
...全文
147 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ling 2011-12-06
  • 打赏
  • 举报
回复
经验证无法实现, 放弃
lookcode 2011-12-06
  • 打赏
  • 举报
回复
用服务试下,

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧