小编Ahm*_*ani的帖子

网络音频分析整个缓冲区

我的应用程序中有预先录制的音频文件的音频缓冲区。我正在尝试获取整个音轨的频域数据,这是我尝试过的:

getAudioDataFromBuffer: function(buf){
    var src = g.audioContext.createBufferSource();
    src.buffer = buf;
    var anal = src.context.createAnalyser();
    src.connect(anal);
    var dataArray = new Uint8Array(buf.length);
    anal.fftSize = 2048;
    anal.getByteFrequencyData(dataArray);
    return dataArray;
},
Run Code Online (Sandbox Code Playgroud)

但这只会给我一个充满零的数组。

我需要这个来比较两个音轨,一个是预先录制的,另一个是在应用程序中录制的。我想我可以测量它们的频域之间的相关性。

javascript signal-processing web-audio-api

4
推荐指数
1
解决办法
993
查看次数

指针指向何处何时被指定?

如果我声明一个指针用作"动态数组",如下所示:

int *arr;
Run Code Online (Sandbox Code Playgroud)

不使用new关键字或指定任何大小.

这是坏代码吗?这个指针到底指向哪里?

在这种情况下,让我说我初始化数组如下:

arr = new int[5];
Run Code Online (Sandbox Code Playgroud)

然后拨打这个电话(对我有用):

arr[100] = 10;
Run Code Online (Sandbox Code Playgroud)

我可以通过这种方式意外覆盖其他一些数据吗?(到目前为止,这从未发生在我身上).关于在此指针声明后剩余多少个连续块,是否存在"安全阈值"?

c++ pointers

3
推荐指数
1
解决办法
147
查看次数

cout char数组给出了混合结果

下面的代码打印for循环中的预期输出,但是一旦我退出循环,它只打印"Here",下面没有任何内容.我在这里错过了什么?

char ** strs = new char*[n];
for (int i = 0; i < n; i++)
{
    string str;
    getline(cin, str);
    strs[i] = const_cast<char*>(str.c_str());
    cout << strs[i] << endl;
}
cout  <<"here" <<strs[1] << endl;
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
107
查看次数