我有一个压缩文件,其大小为728,不知何故,我知道这是一个音频文件,它持续1040毫秒
压缩文件结构很简单:
它由14个字节块组成,每个块以0x0C开头:
0C XX xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx 0C xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx XX 0C xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx XX 0℃XX xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx 0C xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx XX 0C xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx XX 0℃XX xx月xx xx月xx xx月xx xx月xx xx月xx xx月xx 0C XX xx xx xx xx xx xx xx xx xx xx xx xx
(xx)可以是任何十六进制数
您可以在此处下载压缩二进制文件:
http://dusijun.files.wordpress.com/2013/02/29-aud-bin.doc (请重命名为*.aud)
或doc格式的文本视图
http://dusijun.files.wordpress.com/2013/02/29-aud.doc
没有标题或元信息.块数取决于实际音频的长度.文件大小的音频持续时间约为1.42
例如
如果文件大小= …
如果文件大小约为1-2GB,那么向现有文件添加标题(例如文件元数据)的最佳方法是什么?
在C++中
我怎么知道equal_range没有找到任何匹配案例?
喜欢:
multimap<string,string> mapdic;
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> ret;
// insert some string pairs
ret=mapdic.equal_range(thisUpperCaseName);
if (???)//how to test equal_range find nothing?
{
}else{
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
谢谢
我想将矩阵N*123456更改为单元格单元格,每个子单元格包含N*L矩阵
例如:
matrixSize= 50*123456
N=50
L=100
Run Code Online (Sandbox Code Playgroud)
输出为1*1235小区,每个小区有50*L矩阵(最后一个小区只有50*56)
我知道matlab中有一个函数mat2cell:
Output = mat2cell(x, [50], [100,100,100,......56])
Run Code Online (Sandbox Code Playgroud)
但它听起来并不直观.
那么有一个很好的解决方案吗?
我正在使用NAudio库来编写一个简单的WinForms录音机/播放器.我的问题是如何判断播放完成?之后我需要关闭波流.
我知道下面列出了一个PlaybackStopped事件:
wfr = new NAudio.Wave.WaveFileReader(this.outputFilename);
audioOutput = new DirectSoundOut();
WaveChannel32 wc = new NAudio.Wave.WaveChannel32(wfr);
audioOutput.Init(wc);
audioOutput.PlaybackStopped += new EventHandler<StoppedEventArgs>(audioOutput_PlaybackStopped);
audioOutput.Play();
Run Code Online (Sandbox Code Playgroud)
但是这个PlaybackStopped事件似乎只能通过调用触发audioOutput.stop(),是否有人知道如何确定播放是否完成?
我为此问题创建了一个开源项目,您可以在此处找到它:https://code.google.com/p/stack-overflow-questions/