ラジコ仕様変更
NHK教育が離脱したくらいで ココ数年安定していたところ Adobe Flash の廃止に伴う 久しぶりの仕様変更。
しばらく コマンドラインサウンドレコーダーでタイムフリーを録音して応急処置。
ポッドキャストも直接ダウンロードしにくくなりつつあるこのご時世、一日も早くリアルタイムエアーチェックを復旧させたい。...▼
« 2020年10月 | メイン | 2021年11月 »
conflicting requests - nothing provides libSDL2-2.0.so.0()(64bit) needed by ffmpeg-4.2.4-1.el8.x86_64 - nothing provides libSDL2-2.0.so.0()(64bit) needed by libavdevice-4.2.4-1.el8.x86_64最終的なインストールの記録は...▼
commit e87093e
VirtualDisplay の出力先を SurfaceView.getHolder().getSurface() として常に端末の画面で SurfaceView を更新するシンプルな例。
commit 2ba351b
次に VirtualDisplay 出力先を ImageReader.getSurface() として onClick で ImageView を更新する例。
このままだと左に寄って機種によって例えば Galaxy S7 edge では画像のような現象が生じる。ImageReader.acquireLatestImage() で取得する Image.Plane の幅のピクセル数が
Image.getWidth() や DisplayMetrics.widthPixels の値より幅が広い。
commit 1b6140f
最終的にはImageReader.acquireLatestImage() で取得したサイズで ImageReader・VirtualDisplayを作り直すことで改善。
Execution failed for task ':app:lintVitalRelease'. > Lint found fatal errors while assembling a release target. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.で失敗。対応方法は...▼
2020-12-21 01:28:56.035 3538-3538/asia.remix.virtualdisplay E/AndroidRuntime: FATAL EXCEPTION: main Process: asia.remix.virtualdisplay, PID: 3538 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=450066721, result=-1, data=Intent { (has extras) }} to activity {asia.remix.virtualdisplay/asia.remix.virtualdisplay.MainActivity}: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION at android.app.ActivityThread.deliverResults(ActivityThread.java:4845) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION at android.os.Parcel.createException(Parcel.java:2071) at android.os.Parcel.readException(Parcel.java:2039) at android.os.Parcel.readException(Parcel.java:1987) at android.media.projection.IMediaProjection$Stub$Proxy.start(IMediaProjection.java:231) at android.media.projection.MediaProjection.API 29 から、getMediaProjection()の前に、サービスではないが startForeground() が必要...▼(MediaProjection.java:58) at android.media.projection.MediaProjectionManager.getMediaProjection(MediaProjectionManager.java:104) at asia.remix.virtualdisplay.MainActivity$1.onActivityResult(MainActivity.java:62) at asia.remix.virtualdisplay.MainActivity$1.onActivityResult(MainActivity.java:57) at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:377) at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:336) at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:624) at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:164) at android.app.Activity.dispatchActivityResult(Activity.java:8110) at android.app.ActivityThread.deliverResults(ActivityThread.java:4838) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.media.projection.MediaProjectionManagerService$MediaProjection.start(MediaProjectionManagerService.java:476) at android.media.projection.IMediaProjection$Stub.onTransact(IMediaProjection.java:135) at android.os.Binder.execTransactInternal(Binder.java:1021) at android.os.Binder.execTransact(Binder.java:994)