|
#1
|
|||
|
|||
NewAc library
Здравствуйте! Столкнулся с проблемой. Хочу сделать быстрый конвертер MP3 to WAV. Но проблема в компоненте. Я его установил, еще он писал, что некоторые файлы не найдены. Я их из папки с компонентом перенес в LIB. Вроде бы все нормально, то при запуске программы открывается файл компонента и выдает ошибку. Вот код программы, а ниже скрин ошибки. Причем ошибка появляется уже в процессе сохранения wav, открытие mp3 проходит без ошибки. Помогите!!!
КОД: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ACS_Classes, ACS_WinMedia, ACS_smpeg, StdCtrls, ACS_Wave; type TForm1 = class(TForm) Button1: TButton; MP3In1: TMP3In; ProgressBar1: TProgressBar; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; WaveOut1: TWaveOut; procedure Button1Click(Sender: TObject); procedure WaveOut1Done(Sender: TComponent); procedure WaveOut1Progress(Sender: TComponent); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin MP3In1.FileName := OpenDialog1.FileName; SaveDialog1.FileName := ChangeFileExt(MP3In1.FileName, '.wav'); if SaveDialog1.Execute then begin WaveOut1.FileName := SaveDialog1.FileName; Button1.Enabled := False; WaveOut1.Run; end; end; end; procedure TForm1.WaveOut1Done(Sender: TComponent); begin Button1.Enabled := True; end; procedure TForm1.WaveOut1Progress(Sender: TComponent); begin ProgressBar1.Position := WaveOut1.Progress; end; end. Скрин ошибки: |
#2
|
||||
|
||||
Вот по ошибке смотри:
Код:
if not Assigned(fInput) then raise... |
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
Что тут понимать? В Object Inspector'е у компонента WaveOut1 (если ты его кидаешь на форму) в свойстве Input из выпадающего меню выбери MP3In1.
Или же в OnCreate главной формы напиши Код:
WaveOut1.Input:=MP3In1; |
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
Dmitry_DM (07.09.2012)
|
#5
|
|||
|
|||
Цитата:
Теперь этой ошибки нету. Но появилась следующая. Непонятного происхождения. Текст ошибки на 1 скрине. Сразу хочу сказать, что я уже выбирал файл, указывал путь.. Все время неисправимая ошибка. Но уже близится успешное быстрое конвертирование. P.S. Я разрабатываю настройки программы. Какие функции туда можно вставить.(Ваши рекомендации). Но самое главное: все же исправить ошибку с компонентом. И еще одно: ни кто не сталкивался с этим компонентом. Что он еще может? |
#6
|
|||
|
|||
Так кто-нибудь знает что делать с проблемой, описанной выше?
|
#7
|
||||
|
||||
Цитата:
|
#8
|
|||
|
|||
Цитата:
|
#9
|
||||
|
||||
Цитата:
Цитата:
|
#10
|
|||
|
|||
Цитата:
|
#11
|
|||
|
|||
Короче я так понял ничего не выйдет с NewAc library. Может есть какие - нибудь другие способы сконвертировать mp3 to wav? Допустим, с помощью bass.dll. Если есть такая возможность, подскажите как реализовать.
|
#12
|
||||
|
||||
Цитата:
Код:
... unit mr_cddb; ... function ExtractCharSetFromPageContent(fBuffer: string): string; ... var CutBuffer: TStringList; posDelim: Integer; strEnum: string; begin ... for strEnum in CutBuffer do if (Pos(c_charset, strEnum) > 0) then begin Result := Copy(strEnum, Pos('=', strEnum) + 1, Length(strEnum)); end; ... end; ... Заменил это место на такое: Код:
var CutBuffer: TStringList; posDelim, i: Integer; strEnum: string; begin ... for i := 0 to CutBuffer.Count-1 do begin strEnum := CutBuffer[i]; if (Pos(c_charset, strEnum) > 0) then begin Result := Copy(strEnum, Pos('=', strEnum) + 1, Length(strEnum)); end; end; ... end; ... Вместе с компонентами идут также и примеры. Вот даже в папке: newac261\demos\Converters\MP3Converter есть пример конвертации mp3-файлов в wav-фалы. Проверил - нормально конвертирует, так что я что-то не пойму какие тут у тебя могут возникнуть проблемы? p.s. С библиотекой bass не работал. Говорят, что это очень хорошая и мощная библиотека, и даже бесплатная для некоммерческих проектов. Но к сожалению у меня с ней что-то не срослось, возможно то, что она всё же не полностью FreeWare. И хотя у меня есть в планах изучить работу с этой популярной библиотекой, но эти планы регулярно отодвигаются для более интересных проектов... |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Dmitry_DM (09.09.2012)
|
#13
|
|||
|
|||
Цитата:
|
#14
|
|||
|
|||
Все! Работает и на NewAC 2.4.1. Еще раз спасибо. Я понятия не имею в чем там была проблема, но теперь ее нет.
Тема закрыта. |