我正在开发 Android 应用程序,我使用 ffmpeg 来转换文件。
我希望我的二进制文件尽可能精简,因为我没有太多的输入格式和输出格式,而且我的操作非常基本。当然也不要让APK变得臃肿。
在我的程序中,ffmpeg接收一个文件,并复制音频流(-acodec copy),音频流将始终是aac(mp4a)。我需要的是将流保存到文件中。
我的命令如下所示ffmpeg -i {Input} -vn -acodec copy output.aac:
我需要什么复用器来复用 aac 到文件?我已经尝试过flv,mp3,mov,但总是得到
Unable to find a suitable output format for 'output.aac',所以这些选项是错误的。顺便说一句,
我不需要用于流复制的编码器。
旁注:此命令在完整安装 ffmpeg 时可以完美运行,但我不知道它使用哪个复用器。如果有一种方法可以从常规 ffmpeg 运行中输出它使用的复用器,它也可以工作。
我正在尝试创建一个自定义手机应用程序,我正在尝试实现的功能之一是当手机靠近脸部时关闭屏幕以避免意外触摸。
我已经阅读了 android 文档中有关接近传感器的内容,并发现该功能是通过PROXIMITY_SCREEN_OFF_WAKE_LOCKWakeLock 实现的。
我创建了一个测试应用程序来单独测试此功能,其中包括两个按钮:一个用于请求唤醒锁,另一个用于释放它。
class MainActivity: AppCompatActivity() {
private lateinit var mPowerManager:PowerManager
private lateinit var mWakeLock:PowerManager.WakeLock
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mPowerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
mWakeLock = mPowerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "TEST_PROXIMITY_SENSOR_TAG:wake_lock_tag")
button_activate.setOnClickListener {
if (!mWakeLock.isHeld)
mWakeLock.acquire()
}
button_deactivate.setOnClickListener {
if (mWakeLock.isHeld)
mWakeLock.release()
}
}
}
Run Code Online (Sandbox Code Playgroud)
并将以下 WakeLock 权限添加到我的AndroidManifest.xml
class MainActivity: AppCompatActivity() {
private lateinit var mPowerManager:PowerManager
private lateinit var mWakeLock:PowerManager.WakeLock
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mPowerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
mWakeLock = …Run Code Online (Sandbox Code Playgroud)