В настоящее время я пытаюсь написать программу C ++, которая будет использоваться в качестве .dll с кодом Unity C#. До сих пор я успешно смог получить Unity передавать данные в .dll и наоборот. Тем не менее, я все еще довольно новичок в C ++ и наткнулся на все, и недавно стал проблемой, которую я не могу решить. Это стало немного сложнее из -за того, что я еще не понял отличное решение отладки.
Общая проблема, по -видимому, заключается в том, что CurrentPostion не продвигается, таким образом, то Currentsample [] просто заполняется любыми данными на smpledata.waveform [0] .
Я отладко откладывал, изменяя линейные токи. и регистрация этих значений в редакторе Unity, так как Currentsample [] возвращается обратно в Unity и используется для заполнения аудио буфера. Например, для определения значений частоты и smpledata.rootfrequency , я устанавливаю токи выборки к этим значениям.
Таким образом, с указанным, я имею подтверждение, что частота = 440 и smpledata.rootfrecrentency = ~ 329.63. Эти переменные являются поплавками. Тем не менее, я обнаружил, что отладки, так это то, что если я устанавливаю образец Currents = (частота / sampledata.rootfrequency); < / code> или даже токи выборки = (static_cast (частота) / static_cast (sampledata.rootfrequence)); < / code>, возвращаемое в UNITY All All. Это разделение должно привести к приблизительно 1,3348, а не к нулю! Поскольку я подтвердил, что две переменные установлены должным образом, что они являются поплавками, и что другие значения возвращаются в единство, как и ожидалось, я понятия не имею, в чем еще проблема может быть на этом этапе. У кого-нибудь есть какие-либо советы?>
В настоящее время я пытаюсь написать программу C ++, которая будет использоваться в качестве .dll с кодом Unity C#. До сих пор я успешно смог получить Unity передавать данные в .dll и наоборот. Тем не менее, я все еще довольно новичок в C ++ и наткнулся на все, и недавно стал проблемой, которую я не могу решить. Это стало немного сложнее из -за того, что я еще не понял отличное решение отладки.[code] virtual float* GetNextSample(double timeAdvance) override{
return currentSample; }` [/code] Общая проблема, по -видимому, заключается в том, что CurrentPostion не продвигается, таким образом, то Currentsample [] просто заполняется любыми данными на smpledata.waveform [0] . Я отладко откладывал, изменяя линейные токи. и регистрация этих значений в редакторе Unity, так как Currentsample [] возвращается обратно в Unity и используется для заполнения аудио буфера. Например, для определения значений частоты и smpledata.rootfrequency , я устанавливаю токи выборки [i] к этим значениям. Таким образом, с указанным, я имею подтверждение, что частота = 440 и smpledata.rootfrecrentency = ~ 329.63. Эти переменные являются поплавками. Тем не менее, я обнаружил, что отладки, так это то, что если я устанавливаю образец Currents [i] = (частота / sampledata.rootfrequency); < / code> или даже токи выборки [i] = (static_cast (частота) / static_cast (sampledata.rootfrequence)); < / code>, возвращаемое в UNITY All All. Это разделение должно привести к приблизительно 1,3348, а не к нулю! Поскольку я подтвердил, что две переменные установлены должным образом, что они являются поплавками, и что другие значения возвращаются в единство, как и ожидалось, я понятия не имею, в чем еще проблема может быть на этом этапе. У кого-нибудь есть какие-либо советы?>