`
mypyg
  • 浏览: 548028 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oss程序迁移到Alsa时遇到的问题

 
阅读更多
这两天把以前的一个程序从Oss接口改为Alsa接口,按照Alsa的例子将声音输出部分修改后,播放时发出的声音断断续续,并且有很大的杂音。开始以为是Format没有设对,将所有的Format设了一遍仍然不行。将声音转成PCM数据用aplay来播放就没问题,看了aplay的代码发现自己调用snd_pcm_writei有错。原来Oss接口时直接使用write(设备句柄,buffer,data_size),现在改成 snd_pcm_writei时没有修改,snd_pcm_writei要求的参数是(设备句柄,buffer,frame_size),最后一个 frame_size也就是buffer中的数据有多少个frame,这个可以用公式:(buffer_size*8)/(采样位数*声道),buffer_size*8是bit数,采样位数一般是16,声道就是1或者2,这样典型的mp3数据比如16bit,立体声,那么 frame_size = buffer_size * 8 / (16*2),修改之后,播放正常了。
PS:
frame_size其实就是这些数据是多少个sample
分享到:
评论

相关推荐

    小程序直传oss示例小程序直传oss示例

    小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss示例小程序直传oss...

    alsa-driver-1.0.9.tar.bz2和alsa-oss-1.0.9.tar.bz2

    如果在安装alsa-lib(ALSA库)过程中遇到问题,可能会影响到音频服务的正常运行,这时可以尝试下载这个驱动包来解决问题。 另一方面,"alsa-oss-1.0.9"是ALSA的OSS(Open Sound System)兼容层。OSS是一个早期的...

    基于alsa和OSS的mplayer移植_全.rar

    总结,移植mplayer到Linux上的NXP IMX6ULL平台,并使其支持alsa和OSS,是一个涉及音频系统理解、交叉编译技术以及软件配置的复杂过程。通过这个过程,我们可以使嵌入式设备具备强大的音频播放功能,满足多样化的应用...

    ALSA Doc.rar_ALSA sound driver_alsa-lib_audio Alsa_oss wm89_声卡 l

    本文将深入探讨ALSA声卡驱动程序、alsa-lib库、OSS兼容层以及wm89系列芯片与声卡的集成。 标题提及的"ALSA Doc.rar"是一个压缩文件,其中包含了关于ALSA声卡驱动的详细文档。ALSA驱动程序是与硬件交互的底层代码,...

    Python-七牛云数据迁移到阿里OSS自动化工具

    ☁️七牛云数据迁移到阿里OSS自动化工具

    微信小程序上传图片到阿里云oss

    OSS 提供了稳定、安全、高效、易用的云端存储解决方案,能够帮助开发者解决大量数据的存储问题。 首先,要实现微信小程序将图片上传至阿里云OSS,你需要进行以下步骤: 1. **注册阿里云账号并创建OSS Bucket**: ...

    Go-微博图床一键迁移到阿里云OSS

    8. **错误处理和日志记录**:确保程序在遇到问题时能够优雅地处理,并通过日志记录迁移过程中的状态,以便于排查问题。 9. **自动化流程**:学习如何编写脚本或程序实现自动化任务,减少人工干预。 10. **API调用*...

    Linux ALSA声卡驱动开发最佳实践.pptx

    ALSA 架构的特点包括支持多种声卡设备、模块化的内核驱动程序、支持 SMP 和多线程、提供应用程序开发库、兼容 OSS 应用程序开发。 ALSA 包含一系列内核驱动对不同的声卡进行支持,还提供了 libasound 的 API 库。 ...

    最全面mplayer音视频linux交叉编译成功移植(支持alsa和oss)

    综合了网上其他mplayer的移植教程,在Linux交叉编译通过的支持alsa和oss架构的mplayer,有详细的介绍和常见问题出错解决方案,该mpalyer可直接移植到嵌入式开发板上运行,实现板子的音视频播放。

    disczu 3.4远程附件设置阿里云OSS程序.zip

    6. **旧附件迁移**:如果需要,你可以编写脚本或使用工具将已有的本地附件迁移到OSS,以实现全面的云存储。 7. **性能优化**:配置CDN(内容分发网络)以加速附件的加载速度,尤其是对于分布在全球的用户来说。阿里...

    微信小程序阿里云OSS-sdk

    阿里云OSS-sdk,大小536KB 微信小程序纯前端从阿里云OSS下载,可直接引用 文章地址:https://blog.csdn.net/qq_44695727/article/details/132154404

    disczu 3.4远程附件设置阿里云OSS程序源代码和使用方法

    disczu 3.4远程附件设置阿里云OSS程序源代码和使用方法

    java上传本地文件到oss指定目录

    而`使用说明.doc`则可能包含了更详细的使用指南和注意事项,包括如何配置阿里云账号、如何正确设置文件路径,以及遇到问题时的解决办法。 总之,Java上传本地文件到阿里云OSS涉及到的知识点包括:阿里云OSS服务的...

    阿里云SLB-ECS-OSS-RDS与系统数据迁移.docx

    阿里云SLB-ECS-OSS-RDS与系统数据迁移是云计算领域中的一个重要概念,它涉及到阿里云的多个服务,包括SLB(负载均衡服务)、ECS(云服务器)、OSS(对象存储服务)和RDS(关系数据库服务)。本文将对这些服务进行...

    ALSA设备驱动

    开发ALSA驱动时可能会遇到以下挑战: 1. **硬件兼容性**:不同的声卡硬件可能有不同的特性,驱动需要灵活适应各种硬件。 2. **性能优化**:高效的数据传输和中断处理对于保持低延迟和流畅的音频播放至关重要。 3. *...

    ALSA架构声卡相关资料

    ALSA在早期取代了OSS作为Linux的默认音频系统,因为它提供了更好的硬件抽象、多任务音频支持和更低的延迟。 七、ALSA与其他音频框架 现代Linux系统中,ALSA通常与PulseAudio、Jack等高层音频框架一起使用,它们为...

    oss的客户端程序

    阿里云OSS文件管理器能够帮助用户快速、方便、简洁的使用OSS,支持在Windows系统下使用。

    微信小程序开发 上传图片或录音文件到oss

    此文件是对微信小程序,上传图片或者录音文件到阿里云oss代码的封装个, 1上传图片引用示例 wx.chooseImage({ count: 3, // 默认最多一次选择9张图 sizeType: ['original', 'compressed'], // 可以指定是原图还是...

    怎样写一个alsa驱动

    编写ALSA驱动时,需要包含特定的头文件来访问ALSA API。这些头文件通常位于`include/sound/`目录下,例如`sound/core.h`、`sound/pcm.h`等。 #### 卡和组件的管理 ##### 卡实例 在ALSA中,每张声卡都由一个`...

Global site tag (gtag.js) - Google Analytics