Как размыть просмотр видео?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как размыть просмотр видео?

Сообщение Anonymous »

Я хочу размыть видеопросмотр, при котором воспроизводится видео из папки Raw.

Размытие изображения или макета, содержащего рисуемый фон, возможно с помощью renderscript или таких библиотек, как Blurry. Но как размыть видео? Я пробовал такие методы, как преобразование пути URI видео в растровое изображение или видео в миниатюру, но это не сработало.

Вот мой код.

Код: Выделить всё

package com.example.myapplication

import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
import android.net.Uri
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.MediaController
import android.widget.VideoView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val videoView = findViewById(R.id.videoView) as VideoView
val mediaController = MediaController(this)
mediaController.setAnchorView(videoView)
val uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.samplevideo)
videoView.setMediaController(mediaController)
videoView.setVideoURI(uri)
videoView.requestFocus()
videoView.start()

var runnable = Runnable {

var resultBmp = BlurBuilder.blur(this, BitmapFactory.decodeResource(resources, R.raw.samplevideo))
var drawable = BitmapDrawable(resources, resultBmp)
videoView.background = drawable

}

videoView.post(runnable)
}


activity_main.xml


BlurBuilder.kt

Код: Выделить всё

package com.example.myapplication;

import android.content.Context;
import android.graphics.Bitmap;
import android.renderscript.Allocation;
import android.renderscript.Element;
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;

object BlurBuilder {

private val BITMAP_SCALE = 0.6f
private val BLUR_RADIUS = 15f

fun blur(context: Context, image: Bitmap): Bitmap {
val width = Math.round(image.width * BITMAP_SCALE)
val height = Math.round(image.height * BITMAP_SCALE)

val inputBitmap = Bitmap.createScaledBitmap(image, width, height, false)
val outputBitmap = Bitmap.createBitmap(inputBitmap)

val rs = RenderScript.create(context)

val intrinsicBlur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs))
val tmpIn = Allocation.createFromBitmap(rs, inputBitmap)
val tmpOut = Allocation.createFromBitmap(rs, outputBitmap)

intrinsicBlur.setRadius(BLUR_RADIUS)
intrinsicBlur.setInput(tmpIn)
intrinsicBlur.forEach(tmpOut)
tmpOut.copyTo(outputBitmap)

return outputBitmap
}


Пожалуйста, помогите мне размыть просмотр видео или относительный макет, содержащий просмотр видео.

Подробнее здесь: https://stackoverflow.com/questions/555 ... video-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»