2013-07-11 3 views
2

Я хочу закодировать службу, которая записывается в фоновом режиме при запуске службы и останавливает запись, когда служба останавливается.Фоновая запись видео в Android

Здесь я нашел несколько советов, но никто из них не работает.

Может ли кто-нибудь мне помочь? Спасибо за помощь!

Спасибо!

ответ

6

Я никогда не делал этого с видео как таковым, только фотографируя, но я считаю, что это будет очень похоже. Надеюсь, это поможет вам.

Прежде всего - Android не позволит вам делать снимки/записывать видео без предварительного просмотра. Это делает это из службы немного сложнее, потому что вам нужно создать этот предварительный просмотр самостоятельно с нуля. Вы можете найти некоторые старые сообщения, такие как this, которые вводят фиктивный предварительный просмотр. Это больше не работает в новом API.

Однако есть способ создать такой предварительный просмотр, сделать его прозрачным или изменить его на что-то глупое, как 1x1 пиксель. Информацию о том, как это сделать, можно найти в сообщении this.

Я бы спросил, действительно ли вам нужно снять это видео с службы, а не на активность. Если да, то используйте менеджер окон, чтобы создать поверхность предварительного просмотра (он работал для съемки из службы для меня):

WindowManager winMan = (WindowManager) mCtx.getSystemService(Context.WINDOW_SERVICE); 
params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,   WindowManager.LayoutParams.WRAP_CONTENT, 
     WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
     WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, 
     PixelFormat.TRANSLUCENT);   
winMan.addView(surfaceview, params); 

surfaceview.setZOrderOnTop(true); 
mHolder.setFormat(PixelFormat.TRANSPARENT); 

удачи.

+0

Большое спасибо за помощь. Отличный день мой друг! – user2563959

+1

Нет проблем :) Я так долго боролся с этим сам, поэтому знаю, как это раздражает, LOL. –

Смежные вопросы