首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTMP推送

    Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换

    ​技术背景我们在做Android端同屏的时候,开发者希望可以高版本的Android系统上,在设备支持的前提下,可以采集扬声器输出的audio,并支持和麦克风采集的audio相互切换,实现无纸化|智慧教室同屏不同 从Android 10(API级别29)开始,Android引入了媒体投影API(MediaProjection),允许应用捕获屏幕内容以及音频。 null) {old.close();Log.i(TAG, "stop_audio_playback_capture capture.close.");}}启动RTMP推送或轻量级RTSP服务过程中,切换采集扬声器或者麦克风 采集屏幕和麦克风|扬声器audio,然后推送到RTMP服务和轻量级RTSP服务),扬声器audio采集,特别是视频播放模式下,比如无纸化同屏过程中,需要放个宣传片,或者一些视频材料,非常方便:总结Android 平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断

    57010编辑于 2024-08-21
  • 来自专栏Android&Java技术

    Android 打开关闭手机扬声器

    Android打开关闭手机扬声器 1.添加权限 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 2 AudioManager) getSystemService(AUDIO_SERVICE)); 3.设置几个属性 private boolean isSpeakerOpen = true;//默认开启手机扬声器 Exception e) { e.printStackTrace(); } Toast.makeText(MainActivity.this, "打开扬声器 ", Toast.LENGTH_SHORT).show(); } 6.关闭扬声器 public void CloseSpeaker() { try { Exception e) { e.printStackTrace(); } Toast.makeText(MainActivity.this, "关闭扬声器

    3.6K10发布于 2020-02-27
  • 来自专栏Android开发经验分享

    Android 听筒扬声器切换 并且监听音量变化

    AudioManager.FX_FOCUS_NAVIGATION_UP; AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (扬声器模式 direction, flags); } return true; } return super.onKeyDown(keyCode, event); } 听筒、扬声器 AudioManager.STREAM_SYSTEM), AudioManager.FX_KEY_CLICK); } else { audioManager.setSpeakerphoneOn(false);//关闭扬声器 accessibility prompts */ public static final int STREAM_ACCESSIBILITY = AudioSystem.STREAM_ACCESSIBILITY; 参考: Android 听筒扬声器切换(多机型兼容、兼容5.0以上)

    2.2K20编辑于 2022-12-19
  • 来自专栏Android 开发者

    聚焦 Android 11: Android 11 应用兼容性

    作者 / Android 产品经理 Diana Wong 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、 隐私和安全 ,本期将聚焦  Android 11 兼容性 。 Android 11 兼容性 本期我们将重点探讨 Android 11 兼容性这一对所有开发者都非常重要的主题。 更轻松实现应用与 Android 11 兼容 在每次版本更新中,我们都希望尽量减少应用适配 Android 所需的工作。 请继续阅读,详细了解我们如何简化 Android 11 中的应用测试和调试流程。 我们希望这些工具能帮助您更轻松地测试 Android 11 应用兼容情况。

    2K10发布于 2020-10-16
  • 来自专栏RTSP/RTMP直播相关

    大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表

    ​整体架构大牛直播SDK跨平台RTMP直播推送模块,始于2015年,支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台,支持采集推送摄像头、屏幕、麦克风、扬声器 、启/停用Aero;[音频]采集麦克风;[音频]采集扬声器;[预览]支持推送端实时预览;支持实时静音、取消静音;[对接服务器]支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;屏幕和摄像头合成 /多层合成;支持窗口采集(一般不建议使用);支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制、VAD端点检测;支持扬声器和麦克风混音;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接 Linux平台x64_64架构|aarch64架构RTMP直播推送SDK音频编码:AAC/SPEEX;视频编码:H.264;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;支持X11屏幕采集 支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照

    88610编辑于 2024-07-24
  • 来自专栏RTMP推送

    Android 屏幕与麦克风扬声器音频采集的RTMP推流与轻量级RTSP服务工程化实践:架构深度解析

    、音频采集层、传输层、稳定性优化层 五个维度,完整、系统地解析大牛直播 SDK 在 Android 端是如何做到“高画质 + 低延迟 + 高稳定”的。 1.1 前台服务:Android 8.0+ 的保命法则在 StreamMediaDemoService.java 中,SDK 将屏幕采集、音频采集、推流引擎全部挂在 Foreground Service 二、视频采集:MediaProjection + VirtualDisplay 的零拷贝设计Android 屏幕采集的核心是 MediaProjection,但真正的工程难点在于“如何将屏幕像素高效送入编码器 (Android 10+) 自定义 AudioPlaybackCaptureConfiguration 与 MediaProjection 绑定 防止音频重复采集(手机扬声器回灌问题) 并最终将 七、总结:SmartServicePublisherV2 在 Android 屏幕采集方向的工程优势综合全文可以看到,大牛直播 SDK的SmartServicePublisherV2 demo实例,在移动端屏幕采集链路上的优势并不是某一个点

    31800编辑于 2025-11-26
  • 来自专栏RTMP推送

    跨平台音摄像头|屏幕推送选OBS还是SmartPublisher?

    平台,支持采集推送摄像头、屏幕、麦克风、扬声器、编码前、编码后数据对接,功能强大,性能优异,配合大牛直播SDK的SmartPlayer播放器,轻松实现毫秒级的延迟体验,满足大多数行业的使用场景。 、启/停用Aero;[音频]采集麦克风;[音频]采集扬声器;[预览]支持推送端实时预览;支持实时静音、取消静音;[对接服务器]支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;屏幕和摄像头合成 /多层合成;支持窗口采集(一般不建议使用);支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制、VAD端点检测;支持扬声器和麦克风混音;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接 Linux平台x64_64架构|aarch64架构RTMP直播推送SDK音频编码:AAC/SPEEX;视频编码:H.264;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;支持X11屏幕采集 音频采集:音频输入端支持麦克风、扬声器,或麦克风和扬声器混音输入。在 Windows 平台混音模式下,还支持单独控制麦克风、扬声器音量。

    1.2K20编辑于 2024-10-18
  • 来自专栏program

    Android 11适配攻略

    是时候适配一波Android11了,为后面项目适配铺平道路。 介绍 2020年6月11日,Google正式推送了Android 11 Beta版本,同年年9月9日正式发布。 android:requestLegacyExternalStorage="true" 但是这个适配方法在Android 11中已经失效,必须按照存储机制来乖乖适配,不一样的是Android 11允许使用 的同时不能请求其它权限,否则系统会抛出异常(在没研究Android 11适配的时候,我就已经发现了这个bug,当时以为是系统的bug,还截了两张图,后面仔细查看,找资料才发现是Android 11的变更 11开始,仅通过v1签名的应用无法在Android 11的设备上安装或更新,必须使用v2或更高版本进行签名。 最后,展示一个Android 11小动画。

    4.9K11编辑于 2022-06-29
  • 来自专栏Android 开发者

    聚焦 Android 11: Jetpack

    作者 / Android Jetpack 产品经理 Diana Wong 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、隐私和安全 、 Android 11 兼容性 我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。 重要更新 2018 年,我们推出了 Android Jetpack,帮助开发者遵循最佳做法、减少样板代码,并编写可以在不同 Android 版本和设备中运行的代码。 要全面了解 Jetpack 的新功能,您可以查看我们在 #Android11 发布中的 相关演讲,我们简要介绍了 Jetpack 库的许多更新,并提供了相应的入门指南。 聚焦权限 在 Android 11 中,我们一直致力于让用户对敏感权限有更多控制。同时,让各位开发者尽可能轻松地构建 Android 应用也是我们工作的一大重点。

    1.1K40发布于 2020-10-16
  • 来自专栏Android程序Shape使用总结!

    Android 10 和Android 11的适配

    背景 最近在项目中着手做Android10和Android11 适配时候,期间遇到了不少的坑。之前有专门写过qq、微信分享的适配。但是此次在针对偏业务侧适配工作的时候还是碰到了一些新的问题。 但是,这里有个坑: 在Android10上不行,在Android11上又可以!!为什么? 因为Google改回来了,让Android11支持file://格式了。。。。 (wtf? 我谢谢你啊~~) **我这里说的 Android10 和 android 11 是指 targetSdkVersion 哦 ** 2.1 往公共目录插入一张图片 只能通过mediaStore方式: ContentValues 在Android11上 以上标志会自动失效。因此,应用存储的东西还在放在App-specific目录下。分享私有目录可以通过fileprovider 方式适配。 2. targetSdk=30,android:requestLegacyExternalStorage="false"运行在Android11的设备上 会咋么样?

    1.9K41编辑于 2021-12-20
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现系统内录(捕获播放的音频)并推送RTMP服务技术方案探究

    采集的话,10.0以上版本,按照上述设置即可获取到数据。 /采集扬声器,需要android 10.0+版本}private void CheckInitAudioRecorderSpeaker() { if (audioRecordSpeaker_ == null 我们考虑到,在做无纸化同屏或者教育投屏的时候,一般来说,主要还是采集麦克风音频为主,中间如果有视频播放或者类似需求的时候,我们把内录audio的打开即可(也可以做混音模式,或者推送过程中,实时静音麦克风或扬声器数据源 ,当然也可以实时调节二者的音量),具体在初始化的时候,可以做下设置://audio mix模式下, 如果需要切换麦克风和扬声器数据源,针对麦克风或扬声器实时静音即可//混音模式下,也可以针对麦克风或扬声器 (publisherHandle, index, 0.0f);}无图无真相,Android平台RTMP推送端或者轻量级RTSP服务测,采集到屏幕画面和扬声器声音,打包传输,RTMP或RTSP播放端录制下来的同屏画面视频如下

    3.1K40编辑于 2022-11-10
  • 来自专栏全栈程序员必看

    Android11 无Root 访问data目录实现、Android11访问data目录、Android11解除data目录限制、Android11 data空白解决

    Android11 无Root 访问data目录 实现 正文开始 关于Android11权限变化 作为普通安卓用户该如何方便快速地访问Android/data目录 开发者该如何实现无ROOT访问Data 解决方案 SAF方案缺点 放大招,ROOT权限直接解锁后带权访问Data目录 结语 封装好的工具类 正文开始 关于Android11权限变化 谷歌在Android11及以上系统中采用了文件沙盒存储模式, 我实现的文件管理(Android11上直接免root管理data目录) 重要的坑:为什么不直接使用路径Path来实现文件浏览呢? 我也这样觉得的,在我当时在对Android11进行适配的时候为了改动小,肯定是想用这个方法来进行适配,但是根本行不通! 我们不是获取了Android/data目录的权限了吗? 这个Android11Android/data受限后,我觉得这个是很好的解决方案了,毕竟可以实现无Root访问并实现管理。

    18.8K31编辑于 2022-09-14
  • 来自专栏逮虾户

    Android 性能采集之Fps,Memory,Cpu

    Android系统要求每一帧都要在 16ms 内绘制完成,平滑的完成一帧意味着任何特殊的帧需要执行所有的渲染代码(包括 framework 发送给 GPU 和 CPU 绘制到缓冲区的命令)都要在 16ms 这个词可以概括这个类的工作,如果android系统是一场芭蕾舞,他就是Android UI显示这出精彩舞剧的编舞,指挥台上的演员们相互合作,精彩演出。Google的工程师看来挺喜欢舞蹈的! 相对来说我们可以借鉴大量的采集逻辑,然后只要在获取关键性数据进行调整就好了。 数据在子线程中采集,避免采集数据卡顿主线程。 以下是性能采集的工具类同时采集了cpu数据,各位可以直接使用。 Also of Android Q the sample rate allowed by this API is significantly limited, if called faster the

    1.6K20发布于 2020-11-05
  • 来自专栏字节流动

    Android OpenSL ES 音频采集与播放

    本篇详细介绍一下基于 Android OpenSL ES 实现音频的采集与播放。 1. OpenSL ES 是什么? 在 Android 开发中,Google 官方从 Android 2.3 (API 9)开始,便支持了 OpenSL ES 标准 ,并且对其进行了扩展。 本文介绍的 OpenSL ES 是针对 Android NDK 开发来说。 2. 代码实现 以下代码主要实现音频数据的采集、保存和播放。 __android_log_print(ANDROID_LOG_INFO,"byteflow",FORMAT,##__VA_ARGS__); #define LOGE(FORMAT, ...)

    1.7K50发布于 2021-06-09
  • 来自专栏RTSP/RTMP直播相关

    三款RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder

    [视频采集处理]Windows平台涵盖“Windows视频采集处理SDK”功能; [音频采集处理]Windows平台涵盖“Windows音频采集处理SDK”功能; [本地预览]Windows平台支持摄像头 ]除常规YUV格式外,Windows平台还支持MJPEG格式的摄像头采集; [麦克风/扬声器采集]Windows平台音频输入端支持麦克风、扬声器,或麦克风和扬声器混音输入; [RTMP推流]超低延时的 平台支持Speex推送、Speex编码质量设置; [音量调节]Windows/Android平台采集端支持实时音量调节(其中,Windows平台混音模式下支持单独控制麦克风、扬声器音量); [H.264 /iOS推送SDK支持RTMP扩展H.265推送,Windows针对摄像头采集软编码,使用H.265可变码率,带宽大幅节省,效果直逼传统H.265编码摄像头,Android/iOS平台支持H.265硬编码 模式设置(需服务器支持); [镜像]Android/iOS平台支持前置摄像头实时镜像功能; [前后摄像头实时切换]Android/iOS平台支持采集过程中,前后摄像头切换; [复杂网络处理]支持断网重连等各种网络环境自动适配

    2.6K50发布于 2021-03-25
  • 来自专栏Android 开发者

    聚焦 Android 11: Android 开发者工具

    作者 / Android 产品经理 Jamal Eason 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、隐私和安全 、 Android 11 兼容性 、 开发语言 我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。 重要更新 11 Weeks of Android 期间,我们在 Android Studio 中推出了一系列开发者工具更新。 视频与文档资源 如要查看 Android Studio 近期版本中有关 Android 开发者工具新增功能的概况,请观看 #Android11 发布会中精彩而又深入的演示。 Android 模拟器 您还可以参阅下方技术内容,了解更多关于使用 Android 模拟器的最佳实践和实用建议: 利用 Android 模拟器针对 Android 11 开发: 概述 Android 模拟器的新增功能

    3.1K21发布于 2020-10-16
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现无纸化同屏并推送RTMP或轻量级RTSP服务(毫秒级延迟)

    高分屏采集编码效率低怎么办高分屏,不管是Windows还是Android采集后的数据,建议先压缩,再编码,Windows平台我们可以设置压缩比例(scale rate),Android平台亦可,比如采集原始屏幕 Android横竖屏自动适配Android平台,如果是pad采集,基本就是横屏采集,如果手机端,需要确保横竖屏模式下都可以正常采集。4. 为什么要考虑补帧Android的时候,一定的采集模式下,屏幕如果没有变化,不会一直有实时屏幕数据回调下来,这时候,为了保持帧率或数据采集的完整性,建议补帧。5. 能不能采集扬声器的audio? Windows不在话下,Android平台需要高版本支持,高版本是可以采集扬声器数据的,我们也实现了相关的demo,可以同时采集麦克风和扬声器的audio,单独推送或者同时混音输出。11.

    85900编辑于 2024-06-18
  • 来自专栏Android 开发者

    聚焦 Android 11: 开发语言

    作者 / 产品经理 David Winer 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份、隐私和安全、 Android 11 兼容性 ,本期将 聚焦语言 。 我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。 在 Android 11 测试版中,我们决定正式推荐使用协程 (coroutines) 在 Android 上执行异步操作,以此来进一步拥抱 Kotlin。 在 Android 11 中,我们力求不断改进对这两种语言的支持。在 Android 11 Beta 中,我们使用来自 OpenJDK 9、10 和 11 的许多新 API 升级了 Java 库支持。 对于 Android 11,我们还更新了 Android 运行时间 (Android runtime),以通过 I/O 预取 加快应用的启动速度。 C++ 开发者的体验也在不断改善。

    1.4K10发布于 2020-10-16
  • 来自专栏流媒体

    Android 11(Q)源码编译

    -11.0.0_r17 repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r17 同步源码 bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig 3.2 驱动下载 参考https://source.android.google.cn 2021-06-27 16-54-57 的屏幕截图.png 下载地址:https://developers.google.cn/android/drivers ? 8. aosp_car_arm64-userdebug 9. aosp_car_x86-userdebug 10. aosp_car_x86_64-userdebug 11

    2K10发布于 2021-06-29
  • 来自专栏Android 开发者

    Now in Android | 11 月刊 · 2019

    作者 / Chet Haase, Android 开发技术推广工程师 欢迎大家来到 Now in Android 栏目,本栏目将专注于为开发者们提供近期值得关注的 Android 开发热点内容。 请务必跟上 Android 10 ? 我们在 Android 10 预览版阶段收到了有关 API 和功能的重要反馈,并且得以在发布最终版之前进行改进。 毕竟,大多数 Android 项目都是已经成型的代码库,而 Android SDK 是一组 Java API,因此,不同语言之间的流畅集成非常重要。 视图绑定从 Android Studio 3.6 Canary 11 可以开始体验。 在我们近期连载发布 2019 Android 开发者峰会中文视频中也有一个关于分区存储的演讲,分享了一些最新的更新和接下来 Android 版本里的改变。

    81540发布于 2019-11-29
领券