我在Visual Studio 2010中进行了调试,我们刚刚安装并尝试在快速监视窗口中查看字典.我看到键和值,但钻进那些显示计数和非公众成员,非公众成员继续跟踪,我从来没有看到字典中的值.我可以运行test.Take(10)并查看值,但为什么我必须这样做.我没有安装VS 2008进行比较,但似乎我可以更轻松地调试字典.为什么现在这样呢?这只是我在机器上设置的设置吗?
测试代码:
Dictionary<string, string> test = new Dictionary<string, string>();
test.Add("a", "b");
Run Code Online (Sandbox Code Playgroud)
编辑:我刚刚在控制台应用程序中尝试了相同的调试,它按预期工作.另一个项目是Silverlight 4应用程序,为什么它们不同?
编辑:Microsoft Connect的回复:"这是我们的遗漏 - 我们之前已经修复了Visual Studio 2008 SP1的确切问题,但遗憾的是,此修复程序未移植到Visual Studio 2010代码库.现在再次修复此问题(此好的时间!)我们正在考虑在VS2010 SP1中发布此修复程序.
Alex Turner项目经理Visual Basic和C#编译器"所以它应该尽快修复.
编辑:我刚刚在SP1中检查了这一点,它正常工作.
visualizer visual-studio-2010 visual-studio-debugging silverlight-4.0
我要回到这里的基础知识,但在Lua中,你可以像这样定义一个表:
myTable = {}
myTable [1] = 12
Run Code Online (Sandbox Code Playgroud)
打印表引用本身会返回指向它的指针.要访问其元素,您需要指定一个索引(即与数组完全一样)
print(myTable ) --prints pointer
print(myTable[1]) --prints 12
Run Code Online (Sandbox Code Playgroud)
现在功能是一个不同的故事.您可以定义和打印如下函数:
myFunc = function() local x = 14 end --Defined function
print(myFunc) --Printed pointer to function
Run Code Online (Sandbox Code Playgroud)
有没有办法访问已定义函数的主体.我试图整理一个小代码可视化器,并希望用特殊的函数/变量"播种"给定的函数,以允许可视化器将自己"挂钩"到代码中,我需要能够重新定义函数.变量或字符串.
我们接近100个.proto文件,其中每个文件可以定义大约10个IDL结构(如service或message).
有没有办法可视化它们,包括引用(从一个文件到另一个文件).例如类似于UML类图.
可能有可配置的Java/C++可视化工具.
来自https://developers.google.com/protocol-buffers/docs/overview
协议缓冲区现在是Google的数据通用语言 - 在撰写本文时,Google代码树中有12,183个.proto文件中定义了48,162种不同的消息类型.
我想知道他们是如何处理的.
我正在使用Android 2.3.1上的Visualizer类进行一些音乐分析.我发现FFT和波形幅度受设备体积的影响.这意味着如果用户关闭了音量,我会收到很少或没有FFT数据.
我在摩托罗拉Xoom,三星Galaxy Tab和模拟器上进行了测试,它就是这样的.
我使用下面的代码:
mp = new MediaPlayer();
mp.setDataSource("/sdcard/sine1.wav");
mp.prepare();
mp.setLooping(true);
mp.start();
int audioSessionID = mp.getAudioSessionId();
v = new Visualizer(audioSessionID);
v.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)
看一下Visualizer类的文档,似乎如果我们传入一个有效的音频会话id,那么可视化器应该在这个音频会话上运行.Visualizer似乎在输出组合上运行.
有没有其他人遇到这个或找到了解决方法?
谢谢
当我选择内置可视化器之一时:

我可以看到原始的表达被可视化了:

如何从自己的自定义可视化工具中获取此信息?
我浏览了API参考,没有发现任何东西。
(如果您没有找到答案,请在开发者社区上支持该请求。)
更新资料
链接的开发者社区请求由于某些原因而被关闭。
我正在尝试使用Visualizer类在android中实现音频频谱分析器.
我在事件onFftDataCapture()方法中获取FFT数据,OnDataCaptureListener()并且我在画布上使用它绘制drawLines().
但是频谱显示没有正确显示.我只能看到图表左侧的变化.但是在Window Media Player中,同一首歌的输出是不同的.我错过了什么?
任何人都可以通过示例或链接帮助我吗?
码
mVisualizer.setDataCaptureListener(
new Visualizer.OnDataCaptureListener() {
public void onWaveFormDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {}
public void onFftDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {
mVisualizerView.updateVisualizer(bytes, samplingRate);
}
}, Visualizer.getMaxCaptureRate() / 2, false, true);
Run Code Online (Sandbox Code Playgroud)
OnPaint()方法
for (int i = 0; i < mBytes.length / 2; i++) {
mPoints[i * 4] = i * 8;
mPoints[i * 4 + 1] = 0;
mPoints[i * 4 + 2] = i …Run Code Online (Sandbox Code Playgroud) 我正在为Android 2.3.3制作动态壁纸,它使用了Visualizer类.我已经有一个可用的Visualizer程序版本作为独立工作,但当我将代码放入动态壁纸服务时,我的问题就开始了.以下代码是错误存在的位置:
// Called in my Engine extension's constructor
public void setupVisualizer()
{
mBytes = null;
mVisualizer = new Visualizer(0);
// EDIT
mVisualizer.setEnabled(false); // This fixes the issue
// END EDIT
mVisualizer.setCaptureSize(
Visualizer.getCaptureSizeRange()[1]); // IllegalStateException Thrown
mVisualizer.setDataCaptureListener() {
public void onWaveFormDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {
updateVisualizer(bytes);
}
public void onFftDataCapture(Visualizer visualizer,
bytes[] bytes, int samplingRate) {}
}, Visualizer.getMaxCaptureRate() / 2, true, false);
mVisualizer.setEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
这是奇怪的部分,当我浏览动态壁纸列表时,我会点击它来查看预览,它工作正常.如果不将其设置为活动壁纸,我会点击后退按钮,然后再次选择它并崩溃.我可以重复这个过程,它只会在其他时间崩溃并且在其他时间运行.如果我选择将其设置为活动壁纸,则每次都会崩溃.
java android visualizer illegalstateexception live-wallpaper
当使用SoundPool音频类时,仅播放较短的音频片段时,它肯定比MediaPlayer具有一些优势。我注意到的两个是SoundPool快很多。MediaPlayer可能会在启动时滞后一些,从一个声音剪辑转到另一个声音剪辑要容易得多,我不必每次都停止,重置和准备。
但是,是否可以像使用MediaPlayer一样,使用可视化器从SoundPool中播放的音频数据中获取实时fft数据?我无法找到涵盖该主题的任何话题,但是偶然的机会我以为我会问,因为似乎应该有可能。该文档说:“ SoundPool库使用MediaPlayer服务将音频解码为原始的16位PCM单声道或立体声流。” 因此,如果我可以引用SoundPool使用的MediaPlayer,那么我想getAudioSessionId()也许可以使用?
我已经尝试将会话ID设置为0以获得输出混合。它没有用,但无论如何我并不是真正想要的理想效果。我做的第一件事之一就是尝试使用加载的SoundPool SoundID代替可视化程序的会话ID,但这也行不通。
在API 16上运行应用程序时出现以下错误.
java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -4
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -4
at android.media.audiofx.Visualizer.<init>(Visualizer.java:199)
at xyz.activity.AudioPreviewActivity.setupVisualizerFxAndUI(AudioPreviewActivity.java:83)
at xyz.activity.AudioPreviewActivity.initAudio(AudioPreviewActivity.java:60)
at xyz.activity.AudioPreviewActivity.onCreate(AudioPreviewActivity.java:40)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at …Run Code Online (Sandbox Code Playgroud) 我在 React 中使用 AudioContext 接口制作了一个音频可视化工具,我希望用户能够启用和禁用它。
可视化工具工作正常,我也可以禁用它(我只是删除了 vis 组件)
但是,当我想再次启用它时,它告诉我:“InvalidStateError:无法在“AudioContext”上执行“createMediaElementSource”:HTMLMediaElement 之前已连接到不同的 MediaElementSourceNode。”
我想我不能在一个音频元素上同时有 2 个 ElementSource。但我无法解决这个错误。
我尝试在 useEffect 挂钩中返回audiocontext.close() ,以便我可以创建一个新的MediaElementSource(不确定它是否以这种方式工作),但它不会改变任何内容。
也许音频元素上有一个属性可以告诉我是否已经存在 MediaElementSource ?(我什么也没找到)
或者,AudioContext 接口对我来说有点太难了,因为我只是 React 的初学者,而且我只是复制粘贴现有的可视化工具......
谢谢您的帮助!
这是我的可视化组件中的一些代码:
useEffect(() => {
var context = new AudioContext(); //Some visualiser stuff
var src = context.createMediaElementSource(audio);// The error is here
src.crossOrigin = "anonymous";
var analyser = context.createAnalyser();
src.connect(analyser);
analyser.connect(context.destination);
analyser.fftSize = 1024;
// Some canvas stuff here
//
return () => {
context.close() // doesn't work ?
};
}, …Run Code Online (Sandbox Code Playgroud) visualizer ×10
android ×5
fft ×3
audio ×2
java ×2
media-player ×2
.net ×1
audiocontext ×1
c# ×1
debugging ×1
function ×1
grpc ×1
javascript ×1
lua ×1
reactjs ×1
sessionid ×1
soundpool ×1
vb.net ×1