Android 通话双向录音.zip

上传者: 39841856 | 上传时间: 2019-12-21 21:40:57 | 文件大小: 1.43MB | 文件类型: zip
在Android平台上实现通话双向录音是一项技术挑战,因为系统默认并不支持这一功能,主要是出于隐私保护的考虑。然而,开发者可以通过一些技巧和API来实现这一需求。以下是对标题"Android通话双向录音"及其相关标签和文件的详细解释: 1. **安卓源码-其他应用**: 这个标签暗示了我们可能需要深入到Android系统的源代码中去寻找答案,或者至少需要利用一些非标准的API或服务。"其他应用"意味着这个话题可能涉及到不常见或者需要自定义实现的应用场景。 2. **说明.htm**: 这个文件很可能是对实现通话录音技术的详细步骤、注意事项或代码示例的文档。通常,它会包含关键的代码片段、配置信息和使用方法。 3. **PhoneRecording**: 这个文件名可能代表一个Java类或整个项目,它负责处理通话录音的逻辑。在这个类中,开发者可能会覆盖或扩展Android的AudioRecord和TelephonyManager等类,以实现通话录音功能。 **核心知识点**: 1. **权限管理**: 在Android上进行通话录音需要`RECORD_AUDIO`权限。在Android 6.0及以上版本,这个权限是运行时权限,需要在应用运行时请求用户许可。 2. **AudioSource**: 使用AudioRecord类来录制音频,需要设置合适的AudioSource,如`AudioSource.VOICE_CALL`,这可以获取通话的声音。 3. **MediaRecorder**: 对于更复杂的录音需求,可以使用MediaRecorder类,它可以更方便地设置录音质量、格式等参数。 4. **电话状态监听**: 通过注册PhoneStateListener监听电话状态,当电话挂断或接通时,启动或停止录音服务。 5. **处理权限问题**: 在Android 9.0(Pie)及以上版本,由于隐私限制,通话录音可能无法直接通过`VOICE_CALL`实现,这时可能需要使用`VOICE_UPLINK`和`VOICE_DOWNLINK`分别录制通话双方的声音。 6. **后台服务**: 为了确保录音在后台持续进行,可能需要创建一个后台服务,即使应用被关闭,录音也能继续。 7. **音频混合**: 由于录音可能来自两个不同的音频源(上行和下行),因此可能需要合并这两个音频流,生成双向录音。 8. **文件存储**: 录音文件的保存位置需要考虑到私密性和用户可访问性,通常选择外部存储目录下的特定文件夹,并注意权限控制。 9. **异常处理**: 考虑到各种设备和Android版本的差异,需要充分处理可能出现的异常,如录音失败、文件写入错误等。 10. **兼容性测试**: 由于不同设备和Android版本对录音的支持程度不同,需要进行广泛的兼容性测试,确保在大多数设备上都能正常工作。 以上就是关于"Android通话双向录音"的关键知识点,实现这一功能需要深入了解Android系统和音频处理,同时也需要充分考虑用户体验和隐私法规。

文件下载

资源详情

[{"title":"( 51 个子文件 1.43MB ) Android 通话双向录音.zip","children":[{"title":"说明.htm <span style='color:#111;'> 4.22KB </span>","children":null,"spread":false},{"title":"PhoneRecording","children":[{"title":"bin","children":[{"title":"classes.dex <span style='color:#111;'> 681.04KB </span>","children":null,"spread":false},{"title":"res","children":[{"title":"crunch","children":[{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 5.82KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 9.14KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 17.47KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"PhoneRecording.apk <span style='color:#111;'> 274.90KB </span>","children":null,"spread":false},{"title":"dexedLibs","children":[{"title":"android-support-v4-ccd869cb5301e30842321cc3f13209ed.jar <span style='color:#111;'> 228.93KB </span>","children":null,"spread":false}],"spread":true},{"title":"classes","children":[{"title":"com","children":[{"title":"example","children":[{"title":"phonerecording","children":[{"title":"MainActivity.class <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false},{"title":"BuildConfig.class <span style='color:#111;'> 361B </span>","children":null,"spread":false},{"title":"AppliacationIMmpl.class <span style='color:#111;'> 455B </span>","children":null,"spread":false},{"title":"R$layout.class <span style='color:#111;'> 427B </span>","children":null,"spread":false},{"title":"R$id.class <span style='color:#111;'> 473B </span>","children":null,"spread":false},{"title":"R$drawable.class <span style='color:#111;'> 431B </span>","children":null,"spread":false},{"title":"PhoneService$PhoneListener.class <span style='color:#111;'> 2.80KB </span>","children":null,"spread":false},{"title":"R$dimen.class <span style='color:#111;'> 485B </span>","children":null,"spread":false},{"title":"PhoneBroadcastReceiver.class <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"R$attr.class <span style='color:#111;'> 364B </span>","children":null,"spread":false},{"title":"R$menu.class <span style='color:#111;'> 412B </span>","children":null,"spread":false},{"title":"R.class <span style='color:#111;'> 753B </span>","children":null,"spread":false},{"title":"PhoneService.class <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"R$string.class <span style='color:#111;'> 496B </span>","children":null,"spread":false},{"title":"R$style.class <span style='color:#111;'> 455B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"resources.ap_ <span style='color:#111;'> 40.30KB </span>","children":null,"spread":false},{"title":"AndroidManifest.xml <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"res","children":[{"title":"drawable-ldpi","children":null,"spread":false},{"title":"values-v11","children":[{"title":"styles.xml <span style='color:#111;'> 334B </span>","children":null,"spread":false}],"spread":true},{"title":"menu","children":[{"title":"main.xml <span style='color:#111;'> 263B </span>","children":null,"spread":false}],"spread":true},{"title":"values-v14","children":[{"title":"styles.xml <span style='color:#111;'> 391B </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 7.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 12.22KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 24.20KB </span>","children":null,"spread":false}],"spread":true},{"title":"values","children":[{"title":"strings.xml <span style='color:#111;'> 231B </span>","children":null,"spread":false},{"title":"styles.xml <span style='color:#111;'> 697B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 220B </span>","children":null,"spread":false}],"spread":true},{"title":"values-sw720dp-land","children":[{"title":"dimens.xml <span style='color:#111;'> 277B </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.69KB </span>","children":null,"spread":false}],"spread":true},{"title":"values-sw600dp","children":[{"title":"dimens.xml <span style='color:#111;'> 203B </span>","children":null,"spread":false}],"spread":false},{"title":"layout","children":[{"title":"activity_main.xml <span style='color:#111;'> 851B </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"proguard-project.txt <span style='color:#111;'> 781B </span>","children":null,"spread":false},{"title":"ic_launcher-web.png <span style='color:#111;'> 50.19KB </span>","children":null,"spread":false},{"title":"assets","children":null,"spread":false},{"title":"gen","children":[{"title":"com","children":[{"title":"example","children":[{"title":"phonerecording","children":[{"title":"BuildConfig.java <span style='color:#111;'> 168B </span>","children":null,"spread":false},{"title":"R.java <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"src","children":[{"title":"com","children":[{"title":"example","children":[{"title":"phonerecording","children":[{"title":"AppliacationIMmpl.java <span style='color:#111;'> 257B </span>","children":null,"spread":false},{"title":"PhoneBroadcastReceiver.java <span style='color:#111;'> 574B </span>","children":null,"spread":false},{"title":"MainActivity.java <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"PhoneService.java <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".project <span style='color:#111;'> 850B </span>","children":null,"spread":false},{"title":".classpath <span style='color:#111;'> 475B </span>","children":null,"spread":false},{"title":"project.properties <span style='color:#111;'> 563B </span>","children":null,"spread":false},{"title":"AndroidManifest.xml <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false},{"title":"libs","children":[{"title":"android-support-v4.jar <span style='color:#111;'> 612.87KB </span>","children":null,"spread":false}],"spread":true}],"spread":false}],"spread":true}]

评论信息

  • springlys :
    内容过时了-2020.12
    2020-12-28

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明