|
Тема |
TMediaPlayer, MP3 VBR и Position |
|
Автор |
Mixy (миксер) |
|
Публикувано | 19.05.06 12:30 |
|
|
И за мен дойде момента да напарвя нещо като плеър с възможности за отчитане на времето и позициониране със slider, но се сблъсках с трудност, която точно сега не се сещам как да разреша. Проблема не е в самия MediaPlayer компонент, по-скоро нещо в MCI или в кодеците. За какво става дума: дължината (TMediaPlayer.Length) на МР3 VBR файловете не се докладва коректно. Това се заобикаля лесно - коректната дължина може да се намери с други техники и/или компоненти. Проблема обаче идва с позиционирането в самия файл. Докато се плейва, всичко е ОК и свойството Position дава вярната позиция (време) в милисекунди. Когато обаче решим да го променим и да скочим напр. на втората минута (Position:=120000), изместването се подразбира в 'некоректния' първоначален VBR времеви формат и ще бъде напр. около 1:40 min от дължината на песента. След което отброяването продължава коректно, но програмата ми "не знае" за това и ми се губят около 20-на секунди, по-точно, дисплея показва 2:00, а песента продължава да свири от позиция 1:40. Дано да съм бил ясен, за какво иде реч. Ако някой се е занимавал по-усърдно с мултимедия, нека каже дали се е сблъсквал с подобен проблем.
Пиша на D5, под XP SP2 с Lame и Fraunhofer кодеци. Приеритетен е Fraunhofer, но не знам дали той се ползва по подразбиране.
Mixy
|
| |
|
|
|