视频音频
xoyojank
来如流水兮逝如风,不知何处来兮何所终
展开
-
第一个DirectShow程序
1: // DShowTest.cpp : 定义控制台应用程序的入口点。 2: // 3: 4: #include "stdafx.h" 5: 6: 7: #include dshow.h> 8: void main(void) 9: {10: IGraphBuilder *pGraph = NULL;11: IMediaCont原创 2008-06-24 17:28:00 · 2594 阅读 · 0 评论 -
被FMOD的内存管理坑了一把
最近遇到个内存泄露, 查来查去竟然在FMOD模块里要不是别的组件全部定制了内存分配函数, 还真不会怀疑到它头上使用FMOD::EventSystem::getMemoryInfo()输出内存信息一看, 直接崩溃了, 100MB~200MB之前我是用XACT的, FMOD本以为是差不多的东西, 就没怎么在意, 结果摔一跟头细细的去读了一下文档, 发现有3点:FMOD::Memory_Initiali原创 2012-12-15 19:00:56 · 6337 阅读 · 0 评论 -
Load flash from memory stream
http://stackoverflow.com/questions/423166/flash-activex-how-to-load-movie-from-memory-or-resource-or-stream转载 2010-08-09 16:59:00 · 2339 阅读 · 0 评论 -
Flash在DirectX中的绘制
这里使用的是之前我说过的OLE控件在Direct3D中的渲染方法, 自己不进行swf的解析, 这不现实.原创 2010-06-27 22:34:00 · 7108 阅读 · 7 评论 -
X3DAudio中声道音量跳变的问题
对于3D音效, 左右耳的音量是不一样的. 当然, 眼下没有条件试验传说中的6.1声道是啥子效果, 所以不考虑这种情况. 正是因为左右有音量的差别, 才能根据耳朵去定位音源的方位. 如果是只有两个声道, 比如耳机, 那么两只耳朵的音量变化有时候就很突兀. 为什么呢? 以现实来说, 人的两耳所能感受的声音方向是不同的, 正好左右对称. 如下图. 横线上两耳的音量差别是最大的, 纵线上两耳的音量原创 2010-01-09 01:08:00 · 2595 阅读 · 0 评论 -
XACT Q&A
1. 怎么做声音间切换时的淡入淡出效果? (1)对于背景音乐: 把所有背景音乐归为一个分类(catigory), 如Music, 属性设这样: (2)对于音效: 建立一个RPC, 在把里面的参数设置成AttackTime/ReleaseTime控制Volume的, 然后根据需要绘制一个音量随时间变化的曲线, 再把需要这个效果的sound全attach到这个RPC上就原创 2009-04-21 20:32:00 · 2451 阅读 · 2 评论 -
XACT与X3DAudio整合的问题
XACT本身是不带3D音效的, 相关的功能是由X3DAudio来完成. 刚刚封装完毕的时候, 没有注意到哪里有调节距离衰减的参数参考了一下SDK的文档, 发现X3DAUDIO_EMITTER的pVolumeCurve, CurveDistanceScaler这两个参数是用来做衰减用的.不过SDK的文档写错了(March2008, 最新的没问题), 搞得我郁闷了半天.其实pVolum原创 2008-11-29 14:44:00 · 1857 阅读 · 0 评论 -
X3DAudio
概述X3DAudio是与XAuido2和XACT在3D空间中协作的API. 你可以用它创建出一个声音从一个点飞到摄像机处的效果. 音频不需要有3D位置, 这些都是通过X3DAudio来完成的 收听者和发射器X3DAudio使用收听者(listener)和发射器(emitter)来管理3D空间中的声音. 收听者和发射器别表示收听声音和音源的位置. 一个收听者定义为空间中的一个带朝翻译 2008-11-26 15:49:00 · 3788 阅读 · 0 评论 -
XACT基本概念
XACT工程Wave BanksSound BanksGlobal Settings Wave Banks一个wave bank是包含多个wave文件的集合的文件, 扩展名.xwb比如界面音效一个文件, 技能音效一个文件Wave Bank模式In-Memory在内存中, 适用于小音频资源. 如界面音效Streaming通过一个内存缓冲读取, 适用于大原创 2008-11-14 15:49:00 · 3218 阅读 · 0 评论 -
DirectShow播放视频
本来想用VMR9绘制到D3D的Texture上的, 试着弄了一下, 慢得真够可以的, 还是直接全屏(窗口)放得了代码也懒得写了, 直接拿SDK里的VMRPlayer中CMovie类用就行 1: CMovie* g_movie = NULL; 2: //初始化 3: g_movie = new CMovie(g_hWnd); 4: //载入文件 5: g_mo原创 2008-06-30 21:26:00 · 5262 阅读 · 2 评论 -
移植了OVRLipSync到UE4
OVRLipSync 是Oculus为Unity开发的一个口型同步插件, 能够实时处理语音数据转换成相应的口型, 按照它的规范, 一共有15个口型: 上面的截图是基于MorphTarget的, 这个插件也提供了基于贴图的表现形式: 通过分析插件可以知道, 核心算法封装在OVRLipSync.dll里, 这个dll经过我测试是可以独立运行的: 之前也有个人尝试把它整合进UE4:原创 2016-09-23 12:17:46 · 8540 阅读 · 7 评论