Cześć wszystkim!
Możecie mnie naprowadzić, w jaki sposób mogę pobrać reprezentacja amplitudowo-czasowa (spectrum) dźwięku z wykorzystaniem MediaElement? Jest to w ogóle możliwe? W c++ udało mi się to zrobić z pomocą bass.dll, jednak tutaj chcę także pobierać dźwięk i wyświelać spectrum z filmów, co nie za bardzo się sprawdzi. Jakieś koncepcje / wskazówki?

- Rejestracja:ponad 13 lat
- Ostatnio:około 5 lat
- Postów:839



- Rejestracja:ponad 12 lat
- Ostatnio:ponad rok
- Lokalizacja:Polska, Kraków
http://inchoatethoughts.com/a-wpf-spectrum-analyzer-for-audio-visualization-c-part-2-the-wpfening
Można akceptować. ;D

- Rejestracja:ponad 13 lat
- Ostatnio:około 5 lat
- Postów:839
Dysponujecie może jakimś linkiem do dokumentacji WPFSoundVisualization? Ta, którą mam ściągniętą nie chce mi działać. Po kliknięciu nic się nie wyświetla.
W internecie nie mogę znaleźć żadnych przykładów stworzenia WaveFormTimeLine.
- 92fa96b07a.png (57 KB) - ściągnięć: 93

- Rejestracja:ponad 12 lat
- Ostatnio:ponad rok
- Lokalizacja:Polska, Kraków
U mnie pobrana z https://wpfsvl.codeplex.com/releases/view/83267 normalnie się otwiera:
- a0f9223c5c.png (72 KB) - ściągnięć: 113

- Rejestracja:ponad 13 lat
- Ostatnio:około 5 lat
- Postów:839
Mi niestety pobrana z tej samej strony sie nie otwiera. Czytam właśnie o Interfejsach bo jadę jakoś powoli po podpowiedziach w VS.
mam coś takiego:
void StartBufferingAudio()
{
cWaveFile file = new cWaveFile();
TimeLine.RegisterSoundPlayer(file);
}
cWaveFile:
Tutaj zrobiłem tą klasę, gdyż musze mieć zaimplementowany interfejs IWaveFormPlayer, tylko nie wiem czy to się tak robi...
public class cWaveFile : IWaveformPlayer
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
var handler = this.PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
public double ChannelLength
{
get { throw new NotImplementedException(); }
}
public double ChannelPosition
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public TimeSpan SelectionBegin
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public TimeSpan SelectionEnd
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public float[] WaveformData
{
get { throw new NotImplementedException(); }
}
public bool IsPlaying
{
get { throw new NotImplementedException(); }
}
}
Nie potrafię nic więcej wygrzebać z internetu