欢迎光临散文网 会员登陆 & 注册

Android Studio 修改 QPython 3C 的 SL4A 函数 - 拍照录音录像、截屏录屏

2021-10-02 09:29 作者:乘着船  | 我要投稿

以下SL4A函数,适用于 QPython 3C ( Python 3.11 )


以下函数需要打开相机权限:


takePicture( path = None )  (新增)

拍照(路径=空)

用系统相机拍照,可指定路径或用默认路径。

拍照成功返回路径,拍照取消返回None。


takeVideo( path = None, quality = 1 )  (新增)

录像(路径=空,画质=高清)

用系统相机录像,可指定路径或用默认路径。

画质:1表示高清画质,0表示渣画质。也可以用takeVideo.QUALITY_HIGH=1takeVideo.QUALITY_LOW=0两个常数。

录像成功返回路径,录像取消返回None。


cameraCapturePicture(targetPath, cameraId = 0, useAutoFocus = True) (升级)

拍照并把文件保存在对应路径。

目标路径 (字符串)

相机ID (整数可选,0=后置,1=前置)

自动对焦 (布尔可选)

返回目标路径。

cameraCapturePicture.CAMERA_FRONT  =  1

cameraCapturePicture.CAMERA_BACK   =  0


recorderCaptureVideo(targetPath, duration = 10, cameraId = 0, quality = 8) (升级)

通过相机拍摄视频并把视频保存在对应路径。

目标路径 (字符串)

持续时间 (整数可选) 秒钟

相机ID (整数可选,0=后置,1=前置)

画质 (整数可选)

返回目标路径。

recorderCaptureVideo.QUALITY_8KUHD = 13

recorderCaptureVideo.QUALITY_2K = 12

recorderCaptureVideo.QUALITY_4KDCI = 10

recorderCaptureVideo.QUALITY_2160P = 8

recorderCaptureVideo.QUALITY_1080P = 6

recorderCaptureVideo.QUALITY_720P = 5

recorderCaptureVideo.CAMERA_FRONT = 1

recorderCaptureVideo.CAMERA_BACK = 0


cameraSetTorchMode(enabled) (新增)

相机手电筒 开/关

enabled (布尔型) True=开, False=关


scanBarcode( title = None )  (升级)

扫描二维码/条形码(扫码窗口标题=空)

返回二维码/条形码所代表的字符串。


scanBarcodeFromImage( path, compressRatio = 0, x = 0, y = 0, width = 0, height = 0) (新增)

从图片扫描二维码(图片路径,压缩比=0,x=0,y=0,宽=0,高=0)

原始图片路径 (字符串)

压缩比 (整数可选):

  假设图片是1000x800:

  如果 压缩比 == 0 或 1, 图片不压缩;

  如果 压缩比 == 2, 图片被压缩至 500x400;

  如果 压缩比 == 4, 图片被压缩至 250x200;

  以此类推;

x 或 y (整数可选):

  图片的起始位置, x==y==0 表示左上角;

宽 或 高 (整数可选):

  从原始图片截取的大小, width==height==0 意味着原始宽和高;

返回二维码所代表的字符串。


以下函数需要打开录音权限:


recorderStartScreenRecord( path = None, audio = True, quality = 1, rotation = False, autoStart = True )  (新增)

开始录屏(路径=空,音频=有,画质=高清,旋转=否,自动开始=是)

可指定路径或用默认路径。

第一次录屏前会弹出授权对话框。

音频:有声录屏或无声录屏。

画质:1表示高清画质,0表示渣画质。也可以用recorderStartScreenRecord.QUALITY_HIGH=1recorderStartScreenRecord.QUALITY_LOW=0两个常数。

旋转:录屏源宽度和高度旋转调换。

自动开始:如果某些情况不能自动开始录屏,会先建立一个空文件,通过recorderStart()手动开始。

部分机型只能竖屏启动录屏,横屏启动录屏会有异常,如果遇到这种情况录横屏:在竖屏以rotation=True,autoStart=False启动录屏,然后再转向横屏,用recorderStart()手动开始录屏。

返回录屏视频路径。

视频演示:https://www.bilibili.com/BV1vf4y1Y7Vv  Part2


recorderStart() (新增)

准备录制完成后,手动开始录制,一般与recorderStartScreenRecord配合使用。


imageReaderGetScreenShot(path = None, delayMilliSec = 1000) (新增)

ImageReader截屏(路径=空,延迟毫秒数=1000)

可指定路径或用默认路径。

第一次截屏前会弹出授权对话框。

返回截图路径。


recorderStartMicrophone( targetPath = None )  (升级)

开始录音(目标路径=空)

可指定路径或用默认路径。

返回录音音频路径。


recorderPause()  (新增)

暂停之前开始的录制。

需要 Android >= 7.0 。


recorderResume()  (新增)

恢复之前暂停的录制。

需要 Android >= 7.0 。


recorderStop()  (升级)

停止之前开始的录制。


recorderSoundVolumeDetect(interval=100)  (新增)

开始音量监测(时间间隔毫秒数=100)

当interval>0,按照interval毫秒间隔,捕获音量分贝数;

当interval<=0,停止捕获音量分贝数。


recorderSoundVolumeGetDb()  (新增)

返回音量分贝数。


其他函数:


recordAudio()  (新增)

录音()

用系统录音机录音。

录音成功返回路径,录音取消返回None。


QPython 3C (Python 3.11) 视频演示:

https://www.bilibili.com/BV1NL411G7XX

如果需要 QPython 3C 源代码/Apk,请点击以下链接:

作者:乘着船@Bilibili

更多文章+下载链接:https://www.bilibili.com/read/readlist/rl321663


Android Studio 修改 QPython 3C 的 SL4A 函数 - 拍照录音录像、截屏录屏的评论 (共 条)

分享到微博请遵守国家法律