- 博客(1981)
- 资源 (9)
- 收藏
- 关注
转载 DirectSound学习(二)--流式缓冲区
使用流式缓冲方式播放波形音频文件比较复杂,主要原因是在只有一个缓冲区提供给用户的前提下,这个缓冲区在提供给声卡播放数据的同是还需要用户不断的定时向其中写入数据。要注意从缓冲区这时是一个环形缓冲区,声音的播放和数据的写入都是从缓冲区中循环进行的。 波形音频数据写入到从缓冲区时需要三个因素:①写入的实践,也就是什么时候开始写入; ②写入位置,也就是要从从缓...
2018-02-11 21:33:01 826
转载 【C】借助DirectSound进行流的形式无缝播放的例子
DirectSound是DirectX的一个组件。用于播放声音、BGM等。和DirectMusic不一样,DirectSound用于播放波形声音(WAV无损等),而不是midi音乐。通常大家使用DirectSound是直接把一个声波数据全部载入到一个IDirectSoundBuffer或IDirectSoundBuffer8里面,然后直接调用IDirectSoundBuffer::Play或IDi...
2018-02-11 21:32:08 1258
转载 C++ 采集音频流(PCM裸流)实现录音功能
与上一篇的“C++ 播放音频流(PCM裸流)” 点击打开链接 相对应,本篇是关于用C++实现录音功能的。同样是直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用,也可以下载本人上传的相关工程,这个工程是用VS2013写的,如果是较低的版本就呵呵了。点击打开链接代码部分如下:[cpp] view plain copy#include "stdafx.h" #include <s...
2018-02-11 07:36:56 1072
转载 C++ 播放音频流(PCM裸流)
直接上代码,如果有需要可以直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用了(注意将声道和频率与你自己的文件对应)。当然我自己也用VS2008写了个例子上传了,如果有需要下载地址如下:点击打开链接。 这份代码是打开文件截取一段数据然后播放的,可以轻松的经过加一条线程的方式改成网络传输的形式,但经过本人测试,因为没有缓存机制会有“哒哒”的噪声,也就是说这份代码在网络实时音频上...
2018-02-11 07:35:33 1350
转载 最简单的视音频播放示例8:DirectSound播放PCM
=====================================================最简单的视音频播放示例系列文章列表:最简单的视音频播放示例1:总述最简单的视音频播放示例2:GDI播放YUV, RGB最简单的视音频播放示例3:Direct3D播放YUV,RGB(通过Surface)最简单的视音频播放示例4:Direct3D播放RGB(通过Texture)最简单的视音频播放示...
2018-02-11 07:23:06 396
转载 DirectSound播放PCM(可播放实时采集的音频数据)
前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147。非常感谢该博主的无私奉献,写了不少关于不同多媒体库的博文。让我这个小白学习到不少。现在将其整理是为了收录,以备自己查看。一、DirectSound简介 DirectSound是微软所开发DirectX的组件之一,可以在Windows 操作系统上录音...
2018-02-11 07:15:42 3018 1
转载 .net4.0 如何使用 DirectX.dll和Directsound.dll
1.引用Microsoft.DirectX.dll和Microsoft.DirectX.Directsound.dll这2个文件。2.项目属性里边,把目标平台改成X86。3.调试菜单-->异常。把Managed Debugging Assistants里的LoaderLock引发的异常去掉。4.App.Config修改下:<?xml version="1.0"?><conf...
2018-02-10 23:31:08 1021
转载 VS2010 C# 使用DirectSound
一.说明 vs2010 c#里面不能直接在引用.net组件里面找到directx的组件,所以要手动添加dll引用。 安装完dxsdk后(目前最新dxsdk_jun10.exe)能在E:\Windows\Microsoft.NET\DirectXfor Managed Code\1.0.2902.0 下面找到相应dll。 如果要使用directsound的话...
2018-02-10 22:36:07 905
转载 DirectX编程:C#中利用Socket实现网络语音通信[初级版本]
[声明:本篇来源:http://www.cnblogs.com/stg609/archive/2008/11/19/1334544.html 作者:stg609] 现在时下的VOIP软件很多,比较有名的就是Skype,还有其它诸如UUcall、快门等等。它们提供的功能除了网络上的语音通话外,还可以与固定电话、手机等通话。在本篇中主要介绍利用C#实现语音通信的基本方法。但是目前只...
2018-02-10 22:07:48 356
转载 DirectX编程:[初级]C# 中利用 DirectSound 录音
花了一阵子,把DirectX安装后自带的帮助文件中的那部分关于DirectSound录音这块给看完了,顺便把那部分翻译成了中文,有些地方可能翻译的不是很通顺,不过总体上还是能看得懂的。查看中文翻译,建议大家在进行学习前可以先去看看。 期间也看了些别人的相关文章,感觉有点思路后就开始动手了,很高兴最后能顺利通过测试。不过我这个功能很简单,也不完善,只是最基本的可以录音。还待以后深入学习...
2018-02-10 22:04:24 399
转载 STM32实现HID和u盘复合设备
USB设备可以定义一个复合设备,复合设备分两种,一种是一个设备多个配置,还有一种是一个配置多个接口,在本例中采用一个配置多个接口的方式 首先修改设备描述符,标准设备描述符和报告描述符都不需要修改,只需要修改配置描述符即可//usb配置描述符const u8 DinkUsbConfigDescriptor[DINK_USB_SIZ_CONFIG_DESC] = {
2018-02-09 22:45:22 2436
转载 STM32 USB HID 自定义设备 bulk 传输
ST(意法半导体公司)为STM32系列处理器编写了外设USB的库,并提供了很好的参考例程,本文就是参考ST提供的例程,在STM32F4 discovery板子上实现usb bulk传输。Host端是在linux平台上利用libusb库函数写的读写USB应用。本次实现在STM32 USB例程中的Device HID 鼠标例程基础上添加bulk传输端点修改而来。usb_conf.h 文
2018-02-09 22:39:36 4133 1
转载 HID 读写report ID注意事项
1. 上位机向HID写数据时,每个包传输的第一个byte为写数据(OUT)report ID,上、下位机必须一致。 上位机配置位置: 下位机配置位置: 2. HID向上位机返回数据时,每个包的第一个byte也必须是读数据(IN)report ID,在下位机中,IN report ID的定义一定要和发送包的第一个byte相一致,否则读取错误。IN report ID与上位...
2018-02-09 22:15:08 477
转载 HID读写过程
HID或USB的上、下位机之间相互读写时,并不是直接通信的,而是经过各自的buffer.如下图所示: 上位机向下位机写数据:step1: 当点击Writ HID按键后,上位机首先将要写的数据写入PC的驱动buffer中;step2: 然后PC的驱动再将buffer中的数据写入下位机USB-SIE的buffer中,进而触发下位机的中断;step3: 下位机的USB中断程...
2018-02-09 14:12:42 1198
转载 STM32例程之USB HID双向数据传输
http://www.viewtool.com/bbs/forum.php?mod=viewthread&tid=199&extra=page%3D1程序功能将STM32的USB枚举为HID设备。STM32使用3个端点,端点0用于枚举用,端点1和2用于数据的发送和接收。端点长度为64,也就是单次最多可以传输64个字节数据。STM32获取上位机下发的数据并将该数据通过USB原样返回,...
2018-02-09 14:10:51 3728
转载 键盘的hid描述符例子
譬如有如下的Report Descriptor:譬如有如下的Report Descriptor:C/C++ code?123456789101112131415161718192021222324252627282930313233343536const u8 g_KeyboardReportDescriptor[] = { // Keyboard 0x05, 0x01, /* Usa...
2018-02-09 13:46:19 1852
转载 usb鼠标_HID报告描述符的实现(11)
开发环境:win7开发板 :51单片机 + pdiusbd12 芯片前言: 在上一节的末尾,设备接收到的数据:0x81 0x06 0x00 0x22 0x00 0x00 0x74 0x00 0x81 表示:数据传输方向为 设备到主机,该命令请求是发送到接口中的。 详情请看:usb鼠标_USB标准请求之设备描述符(5) 0x06...
2018-02-09 13:41:19 996
转载 HID报告描述符解析_笔记
要了解报告描述符,需要两份资料:《device class definition for human interface device (HID)》, 《Universal Serial Bus HID Usage Tables》例如:0x05, 0x01, // USAGE_PAGE (Generic Desktop)0x05表示前缀,0x01为数据部分0x05转换成二进制,就是00000101...
2018-02-09 06:43:11 480
转载 Stream篇(四)
FileStream如何去理解FileStream?通过前3章的学习相信大家对于Stream已经有一定的了解,但是又如何去理解FileStream呢?请看下图 我们磁盘的中任何文件都是通过2进制组成,最为直观的便是记事本了,当我们新建一个记事本时,它的大小是0KB, 我们每次输入一个数字或字母时文件便会自动增大4kb,可见随着我们输入的内容越来越多,文件也会相应增大,同理当我们删除文件内容时,...
2018-02-08 15:53:10 211
转载 使用FileStream对象读写文件
在项目开发中经常会涉及到对文件的读写,c# 提供了很多种方式来对文件进行读写操作,今天来说说FileStream 对象。 FileStream表示在磁盘或网络路径上指向文件的流。一般操作文件都习惯使用StreamReader 和 StreamWriter,因为它们操作的是字符数据 。而FileStream 对象操作的是字节和字节数组。有些操作是必须使用FileStream 对象执行的,如随机访问...
2018-02-08 14:53:05 3215
转载 FileStream读写文件
FileStream类:操作字节的,可以操作任何的文件StreamReader类和StreamWriter类:操作字符的,只能操作文本文件。1、FileStream类FileStream类命名空间: System.IO(1)构造函数:FileStream(String, FileMode):使用指定的路径和创建模式初始化FileStream 类的新实例。FileStream(String, F...
2018-02-08 14:51:13 1065
转载 CreateFile之类的几个函数
这几天看windows API一日一练,博主给画出了道道,我来填填具体点的内容。 需求:想操作文件、串口、并口、USB等等。 原理层:其实很简单,就三步:打开,操作,然后关闭。 实践层1:打开用CreateFile,读写操作用WriteFile、ReadFile,关闭用CloseHandle。
2018-02-08 14:38:45 575
转载 window api 文件操作之CreateFile、ReadFile和WriteFile
1. CreateFile 这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件、文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。 函数的声明定义: HANDLE WINAPI CreateFile( _In_ LPCTST
2018-02-08 14:37:45 822
转载 运用Microsoft.DirectX.DirectSound和Microsoft.DirectX实现简单的录音功能
1、首先要使用Microsoft.DirectX.DirectSound和Microsoft.DirectX这两个dll进行录音,需要先安装microsoft directx 9.0cz这个组件,百度云盘下载地址:http://pan.baidu.com/s/1bpgbdP9,里面包含安装程序和两个dll2、编写录音程序功能1)编写录音支持的辅助类SoundRecord源码:u
2018-01-22 13:54:10 579
转载 C#多线程之二:ManualResetEvent和AutoResetEvent
初次体验ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析:在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函
2018-01-22 13:43:59 221
转载 使用C#和DirectX实时监控麦克风输入音量
该控件是在Jacob Klint的作品之上精简而来。特此鸣谢。 现在在开发一个语音录制软件。需要实际监控麦克风的输入音量并显示。类似QQ的语音功能。 可用的技术很多,Windows media encoder、microsoft expression encoder、microsoft SAPI以及microsoft directx均可以实现上述功能。考虑到XP、Vista和win7的兼容
2018-01-22 12:59:26 4465 2
转载 DirectX编程:利用 DirectSound 录音
DirectX编程:利用 DirectSound 录音转载:http://www.cnblogs.com/stg609/archive/2008/10/24/1318931.html 花了一阵子,把DirectX安装后自带的帮助文件中的那部分关于DirectSound录音这块给看完了,顺便把那部分翻译成了中文,有些地方可能翻译的不是很通顺,不过总体上还是能看得懂的
2018-01-22 12:07:31 368
转载 建立第一个directX程序——在C#下利用DirectSound实现声音播放
这是给directX初学者的教程,如果你是大虾,大可不必理会本文。第1步:下载并安装DirectX 9 SDKDirectX 9 SDK下载地址:http://msdn.microsoft.com/directx/sdk/ ,目前最新版本是2006年8月,下载包500MB多。第2步:建立C#应用程序新建一个C#的windows应用程序,名称这里输mydirect
2018-01-22 12:01:45 1626
转载 C#音频采集 (笔记)
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Threading; using Microsoft.DirectX; using Microsoft.DirectX.DirectS
2018-01-22 11:56:32 5269 1
转载 c# 语言通信
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;
2018-01-22 11:53:37 259
转载 pdu长短信格式解释
from: https://www.cnblogs.com/leothink/archive/2010/12/09/1900925.html
2018-01-20 09:27:13 574
转载 PDU学习笔记--包括长短信的发送
使用PDU模式,包含UDH头信息分割短信,用户数据头UDH=00表示长短信拆分。贴一个转来的PDU学习笔记,网上收藏的关于PDU其实并不难,至于PDU是什么,不管它,爱是什么是什么,我们只要知道怎么用就可以了。在网上看了很多关于PDU的帖子or文档,但是说的都不是很详细。所以结合其他高人的文档,总结了这篇文档,希望通过这篇文档让不熟悉PDU的
2018-01-20 09:22:46 5008 1
转载 Android合并音频文件
[java] view plain copy/** * 需求:将两个amr格式音频文件合并为1个 * 注意:amr格式的头文件为6个字节的长度 * @param partsPaths 各部分路径 * @param unitedFilePath 合并后路径 */ pub
2017-12-30 09:32:49 3468
转载 Android开发之合并文件的几种方式
下面介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的具体流程。amr格式的文件头是6字节,所以在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头。注意:不同文件的文件头是不一样的,所以在合并的时候根据不同文件相应的减去合并文件的文件头。步骤一:获取要合并的文件及创建合并后保存的文件[java] view plain copy
2017-12-30 09:31:25 2349
转载 AMR文件格式的解释
一、什么是AMR、AMR-WB全称Adaptive Multi-Rate和Adaptive Multi-Rate Wideband,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。二、编码方式这里都是针对AMR narrow-band (AMR-NB)进行讨论Amr有以下一些编码方式:Mode 0 -
2017-12-28 00:11:18 2679
转载 AMR文件格式分析
最近在传输手机录音时,遇到了AMR编码的问题,开始以为可以任意截断amr文件,加个文件头就可以播放的,后来发现是有问题,这样得到的amr音频有些不能正常播放,后来参看amr格式后,才知道amr文件是一帧一帧的,如果是按照完整的帧前面添加文件头,就没问题了,下面是参考的一篇文章:原文地址:http://blog.csdn.net/dinggo/archive/2007/12/25/19664
2017-12-27 15:41:50 6310
转载 AMR 文件解析及编解码流程
CONTENT: * AMR简介 * AMR 话音质量评定 * AMR 文件结构解析 * AMR 帧结构解析 * AMR 帧读取算法 * AMR 解码原理及流程 * AMR 模式选择自适应机制 一、A
2017-12-27 15:32:17 5964
转载 最小生成树Prim算法理解
MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法,Prim算法就是其中之一,它是从点的方面考虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的集合V={a,b},再从集合U-V中找到另一点c使得点c到V中任
2017-12-25 16:15:05 290
转载 最优二叉树——哈夫曼树
一:什么是最优二叉树?从我个人理解来说,最优二叉树就是从已给出的目标带权结点(单独的结点) 经过一种方式的组合形成一棵树.使树的权值最小. 最优二叉树是带权路径长度最短的二叉树。根据结点的个数,权值的不同,最优二叉树的形状也各不相同。它们的共同点是:带权值的结点都是叶子结点。权值越小的结点,其到根结点的路径越长官方定义:在权为wl,w2,…,wn的n个叶子所构成的所有二叉树
2017-12-25 15:52:33 384
转载 C#下操作USB设备的方法
想必大家对LibUSB不陌生,没错,它就是很有名的开源usb驱动,其提供的API可以很方便的操作linux或者WIN下的USB设备,非常的方便!但是libusb是基于c语言的,那么在C#下是不是就不能使用libusb呢?当然不是了,你完全可以把libusb提供的dll封装成自己的C#库,但是这个工作量是非常大的而且调试的过程中肯定会有些意想不到的事情发生,那么在C#下该如何使用libusb呢,下面
2017-12-12 23:22:52 6992
C#截屏并进行OCR识别
2018-05-10
C# 系统应用之窗体最小化至任务栏及常用操作
2018-05-05
zend studio 12.0.0&zend studio 12.0.1 破解文件
2015-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人