`
mypyg
  • 浏览: 551736 次
  • 性别: 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是一个早期的...

    ossimport迁移工具包

    阿里云OSS Import工具包是一款专门用于数据迁移的实用软件,尤其适用于将大量数据高效、安全地迁移到阿里云对象存储服务(Object Storage Service,简称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自动化工具

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

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

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

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

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

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

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

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

    微信小程序阿里云OSS-sdk

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

    alsa-plugins-oss-1.1.6-1.el7.x64-86.rpm.tar.gz

    在Linux系统中,使用rpm命令安装软件包时,如果遇到依赖问题,通常需要手动解决依赖关系,或者使用yum、dnf等高级包管理工具,它们可以自动处理依赖关系。不过,由于该压缩包已经包含了所有需要的依赖,用户只需要...

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

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

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

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

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

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

    alsa-1.0.9rc4a 声卡驱动整合包

    此外,虽然alsa项目持续更新,提供了最新的驱动和软件,用户在选择驱动版本时,还需考虑与自己的硬件和Linux内核版本的兼容性问题。版本过高可能会导致与旧硬件或者内核不兼容,而版本过低可能又无法获得最新的性能...

    基于阿里云OSS的网盘客户端程序设计源码及多语言支持

    在国际化和本地化的开发过程中,程序设计者需要考虑到不同语言文化背景下的用户习惯,以及各种语言之间的文本长度和布局差异等问题,从而确保软件界面在不同语言环境下都能正常显示和操作。 项目文件结构合理,包含...

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

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

    ALSA设备驱动

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

Global site tag (gtag.js) - Google Analytics