手机录屏录的视频为啥没有声音?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手机录屏录的视频为啥没有声音?相关的知识,希望对你有一定的参考价值。

因为没有设置录制的参数导致的,不设置的话是,录屏是没有声音的。

解决方法

1、打开屏幕录制App,进入首页,点击右上角”设置“图标按钮。



2、进入屏幕录制参数设置,可以看到之前录制的视频是不带声音的。



3、给声音来源设置一个适合自己当前的声音来源项,未设置的是扬声器的声音(手机视频发出来的声音)、麦克风声音(非手机发出来的声音,也就是可以是自己的声音)。



4、点击右下方的“录制”按钮。



5、打开录制好的视频,点击“开始”按钮;录好之后,点击停止按钮;点击播放按钮试听一下即可。


参考技术A

若使用的是vivo手机,屏幕录制没有声音,可参考以下方式解决:

1、需进入设置--(快捷与辅助/系统管理)--超级截屏--录制声音,选择“系统播放音”、“麦克风声音”或“系统播放音和麦克风声音”。(没有选项的机型不支持)


2、选择“系统播放音”后,仅录入设备播放的声音,不录入麦克风的声音;选择“麦克风声音”则仅可录入麦克风声音。
3、视频通话的语音数据属于隐私数据,为响应国家相关规定,保护个人隐私,录制屏幕功能无法录制通话声音。
4、为保护隐私,录屏时不会录制听筒播放的语音,建议把语音消息设置为扬声器播放,以达到录制效果。

更多使用疑惑可进入vivo官网--我的--在线客服--输入人工,咨询在线客服反馈。

vivo X90 Pro

¥4999

vivo X Fold+

¥9999

vivo S16 Pro

¥2999

vivo Pad

¥2499

    官方电话官方服务
      官方网站寄修服务服务中心配件价格在线客服保障服务
参考技术B

使用屏幕录制视频时无声,或者已录制好的视频文件播放时无声,由多种原因导致,请您按照以下方法进行排查:
1.未进行语音通话时录屏无声
在启动录屏后,点击屏幕左上角的麦克风图标,使麦克风处于打开状态即可同步记录环境声音和系统声音。麦克风关闭时仅可以收录系统音(如:音乐),无法收录环境音。
2.视频语音、通话时录屏无声
(1)视频语音、通话时录屏无声
麦克风处于关闭状态时:仅可录制对端声音;
麦克风处于打开状态时:可录制本端和对端通话声音。
支持通话时录制本端和对端声音,录屏时使麦克风图标处于状态即可录制声音。
(2)由于音频通道的优先级是谁先占就先使用。如果音频通道被相关应用软件占用后(如常见的网络电话、微信视频语音、QQ视频语音、畅连通话、腾讯会议等),它们会占用系统麦克风资源,导致录制的视频无声。请您将正在使用麦克风录音的应用或直播类软件关闭后,再进行录屏。
3.使用耳机时录屏无声
如果您的设备已经连接耳机,建议您断开耳机后录屏。
若以上方案没有帮助到您,建议您提前备份手机数据(QQ、微信等第三方应用需单独备份),前往附近的服务中心获取帮助。    

相关链接如下:华为客户服务中心预约服务寄修服务维修备件价格查询

华为Mate Xs 2

¥9999

Mate 50 Pro

¥6799

华为nova 10 Pro

¥3699

华为MateBook X Pro

¥8999

    官方电话官方服务
      寄修服务预约服务维修价格服务中心维修进度

Android 禁止截屏录屏

一、应用中禁止截屏录屏

    @Override
    protected void onCreate(Bundle savedInstanceState) 

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_layout);
    

在单个应用中禁止截屏录屏功能,系统提供了对应的接口,如上代码添加 FLAG_SECURE 即可。设置后,在此 activity 界面,截图时会提示无法截图,录屏时界面是全黑的。

这种方式对通过使用 adb shell 中执行 screencap/screenrecord 的操作也同样有效。

二、系统中禁止截屏录屏

对整个系统进行禁止操作,可以参照系统 FLAG_SECURE 实现原理。实现代码分别在两处。

1、截屏部分

frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp

status_t SurfaceFlinger::captureLayers(
        const sp<IBinder>& layerHandleBinder, sp<GraphicBuffer>* outBuffer,
        const Dataspace reqDataspace, const ui::PixelFormat reqPixelFormat, const Rect& sourceCrop,
        const std::unordered_set<sp<IBinder>, ISurfaceComposer::SpHash<IBinder>>& excludeHandles,
        float frameScale, bool childrenOnly) 

... ...
        // 判断是否非系统调用且为Secure模式
        if (!forSystem && parent->getCurrentState().flags & layer_state_t::eLayerSecure) 
            ALOGW("Attempting to capture secure layer: PERMISSION_DENIED");
            return PERMISSION_DENIED;
        

... ...

activity 中设置 FLAG_SECURE 后,显示的 Surface 都是属于SECURE状态,这里判断是否系统且界面被设置SECURE模式,阻止截图。

2、录屏部分

录屏大概流程:先创建一个虚拟显示屏,对应创建一个VirtualDisplaySurface,然后通过对虚拟屏layer数据流输出保存到本地完成录像。如果需要禁止针对设备的所有录屏操作,只需要将Layer设置为 Secure 状态即可。

frameworks/native/services/surfaceflinger/Layer.cpp


bool Layer::isSecure() const 
    const State& s(mDrawingState);
    /*return (s.flags & layer_state_t::eLayerSecure);*/
    return true;

以上是关于手机录屏录的视频为啥没有声音?的主要内容,如果未能解决你的问题,请参考以下文章

手机录屏没声音是怎么回事

为啥录屏没声音

为啥录制出来的视频没有声音?

为啥我的屏幕录像无声音或者有杂音

手机录制视频没有声音怎么办

为啥我在录屏时会出现无声?