Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

Подскажите, пожалуйста...   Найти похожие ветки 

 
Footballer ©   (2006-07-18 00:15) [0]

Здрасте, вы может помните мы с Homo Sapiens пишем audio-player и тут возникло ещё несколько вопросиков:
1) Как можно "открыть с помощью" сразу несколько файлов и по очереди их обработать;
2) Как можно выполнить сортировку в плэйлисте, например по алфавиту (может компонент есть такой);
3) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;
4) Как можно выполнить поиск в плейлисте(вводишь часть имени, а тебе выдают список номеров строк, где этот отрывок присутствует);
5) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:
for i:=0 to OpenDialog1.Files.Count-1 do
begin
 Mediaplayer1.filename:=opendialog1.files.strings[i];
 mediaplayer1.open;
 time:=found_file_lenght; //Это такая функция
 ..............................
end;


Ну вот, в общем и всё, жду ответов, зарание спасибо!


 
Marser ©   (2006-07-18 01:06) [1]

> 1) Как можно "открыть с помощью" сразу несколько файлов
> и по очереди их обработать;

Из проводника не помню как, надо искать. Из OpenDialog с помощью ofAllowMultiSelect в TOpenDialog.Options, после чего имена файлов можно достать в TOpenDialog.Files.

> Как можно выполнить сортировку в плэйлисте, например по
> алфавиту (может компонент есть такой);


> 2) Как можно выполнить сортировку в плэйлисте, например
> по алфавиту (может компонент есть такой);

Заданием функции обратного вызова с помощью Sort, которая есть у многих компонентов и потомков TList. В TStringList всё немного проще, уже приспособлено к сортировке строк.


 
Footballer ©   (2006-07-18 01:22) [2]


> Из проводника не помню как, надо искать. Из OpenDialog с
> помощью ofAllowMultiSelect в TOpenDialog.Options, после
> чего имена файлов можно достать в TOpenDialog.Files.

Вы меня не так поняли. Смотрите http://delphimaster.net/view/2-1152823256/
Пробовал как сказал Alx_ © Не фига не выходит


 
ArtemESC ©   (2006-07-18 01:25) [3]

Footballer ©   (18.07.06 01:22) [2]
А что конкретно не выходит


 
ArtemESC ©   (2006-07-18 01:30) [4]

И вообще, что значит "открыть с помощью"?


 
Footballer ©   (2006-07-18 01:31) [5]

Открывает тока первый файл...
Просто Paramcount=2 скока файлов не открывай


 
Footballer ©   (2006-07-18 01:38) [6]


> И вообще, что значит "открыть с помощью"?

Ну ты щёлкаешь на файлике правой кнопкой мыши, у тебя открывается всплывающее меню, а там есть строка "открыть с помощью"


 
ArtemESC ©   (2006-07-18 12:24) [7]

Footballer ©   (18.07.06 01:38) [6]
Понятна проблема...

>>2) Как можно выполнить сортировку в плэйлисте, например по алфавиту >>(может компонент есть такой);
 ListBox не подходит?

>>5) Как можно узнать длину песенки, не открывая каждый раз файл, вот >>так:
  Не открывая, нужно знать формат файла, в его сигнатуре содержиться
      это значение, поскольку плеер, как я понял, для разных форматов файлов то не как, можно делать как Winamp пока проигрывается один файл, параллельно загружать длины остальных песен...


 
antonn ©   (2006-07-18 13:31) [8]

Footballer ©   (18.07.06 0:15)
5) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:

из "тегов".

ArtemESC ©   (18.07.06 12:24) [7]
можно делать как Winamp пока проигрывается один файл, параллельно загружать длины остальных песен...

а винамп не так делает. Он плугины опрашивает на предмет валидности файла(или его суппорта ими:)), и ловит на возврате длительность в мсек. А плугины можно опросить поочередно в одном потоке, т.ч. пока плеер заиграет, все длительности уже появятся.


 
Ketmar ©   (2006-07-18 20:56) [9]

>antonn ©   (18.07.06 13:31) [8]
это детали. а по-сути ArtemESC прав. %-)


 
ArtemESC ©   (2006-07-18 21:35) [10]

antonn ©   (18.07.06 13:31) [8]

из каких это тегов собираешься узнавать...


 
Footballer ©   (2006-07-18 22:18) [11]

Огромное спасибо Marser[1], очень помогли...

Осталось 4 вопроса...
1) Как можно "открыть с помощью" сразу несколько файлов и по очереди их обработать;
2) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;
3) Как можно выполнить поиск в плейлисте(вводишь часть имени, а тебе выдают список номеров строк, где этот отрывок присутствует);
4) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:
for i:=0 to OpenDialog1.Files.Count-1 do
begin
Mediaplayer1.filename:=opendialog1.files.strings[i];
mediaplayer1.open;
time:=found_file_lenght; //Это такая функция
..............................
end;

Поможите?..


 
Footballer ©   (2006-07-18 23:20) [12]

Не ну чё, больше ни кто ни чего не знает, что ли?


 
Ketmar ©   (2006-07-18 23:32) [13]

не, ну чё, платить за код будем? мы тут так весь плейер сами напишем, без вас, ага?


 
Footballer ©   (2006-07-18 23:43) [14]


> Ketmar

Вам уже 27 лет, вы тоже когда-то были начинающим, так что будте по снисходительней, пожалуйста...


 
Ketmar ©   (2006-07-18 23:57) [15]

>Footballer ©   (18.07.06 23:43) [14]
а через год будет 28. и так далее. но это к теме не относится.

к теме относится вот что: в своё время у меня не было интернета. зато была документация и "метод научного тыка". с тех пор осталась привычка -- сначала всё, что можно, проверяю и ищу сам, и только потом спрашиваю. Вы много видели моих вопросов на форуме? а я далеко не всезнайка...

поясню проще: у Вас наличествует полное отсутствие знания матчасти. учить матчасть на каком-то рабочем проекте -- это, конечно, похвально. но -- УЧИТЬ, а не скулить. Вам же посоветую писать пока программки попроще. лучше те, что даются в учебниках. там, гед разделы "упражнения". понимаю, что скучно. ну так не думайте, что программирование -- это сплошное удовольствие.

зыж и с чего это я сегодня такой многословный да вежливый? %-)
ззыж надеюсь, Вы воспримете этот пост как руководство к действию, а не как "наезд".


 
ArtemESC ©   (2006-07-19 00:48) [16]

Footballer ©   (18.07.06 22:18) [11]
Иначе, как рассматривать первую часть файла (сигнатуру), никак нельзя узнать о длине песенки, почти все форматы мультимедиа файлов выложены в интернете...

>> 3) Как можно выполнить поиск в плейлисте(вводишь часть имени, а тебе >> выдают список номеров строк, где этот отрывок присутствует);
     Если для плейлиста используется листбокс, то так(непроверял):
 
    str - отрывок              
 
    for i := 0 to ListBox.Items.Count - 1 do
         begin
           temp :=  ListBox.Items[i];
           If Length(str) <= Length(temp) then
                begin
                  for j := 1 to Length(temp) - Length(str) + 1 do
                       begin
                        If str = Copy(temp, j, Length(str)) then
                             begin
                               Присутсвует - i добавляем в список
                               break;
                             end
                       end;
                end;
         end;


 
Footballer ©   (2006-07-19 01:55) [17]


> Ketmar ©   (18.07.06 23:57) [15]

Между прочим мы с самого начала этот player делали, чтобы не сдавать экзамен в 9-ом классе. Нам уже сказали, что того, что мы сделали, вполне достаточно, но заметь, мы не остановились на этом. Мы пишем всё больше, больше... А всё потому что нам это нравится. И не говори, что программировать - скучно. И я не прошу тебя писать за нас плеер (См. [13]). Я всего лишь прошу ответить на несколько вопросов, возникших при написании плеера.


> Вам же посоветую писать пока программки попроще. лучше те,
>  что даются в учебниках. там, где разделы "упражнения"

То, что даётся в разделе "упражнения" уже слишком легко для нас. Ты же не думаешь, что мы на Delphi  так, с нуля начали. 4 года на QBasic, Pascal тебе о чём-нибудь говорят?..

Так что повторюсь, я не прошу тебя писать за нас плеер. Я всего лишь прошу ответить на несколько вопросов, возникших при написании плеера, и всё, что тут плохого?


 
grouzd)ev ©   (2006-07-19 02:19) [18]


> Между прочим мы с самого начала этот player делали, чтобы
> не сдавать экзамен в 9-ом классе

Што ж это за школа такая? я отделался, хаха, "сайтом". 2 дня, оценивали "дызайн". без просмотра кода конечно =)


> 4 года на QBasic, Pascal тебе о чём-нибудь говорят?..

"2 года вдв!" =)

не сочтите за стеб. автору удачи, только я все равно винампом пользуюсь

---
... we are walking on a thin line and you better avoid the risk ...


 
Footballer ©   (2006-07-19 02:35) [19]


> Што ж это за школа такая?

г. Волгоград
Краснооктябрьский район
Лицей №2
Бывшая школа №132
;-)


 
antonn ©   (2006-07-19 06:20) [20]

ArtemESC ©   (18.07.06 21:35) [10]
из каких это тегов собираешься узнавать...

а я теги в кавычки взял:)
для wav, например, заголовок читается, а время расчитывается так:
(DataSize)*8/SampleRate/BitsPerSample/ChannelModeID{stereo-mono}


 
ЮЮ ©   (2006-07-19 09:14) [21]


> 1) Как можно "открыть с помощью" сразу несколько файлов
> и по очереди их обработать;


Explorer и иже с ними не станут вызвыать так
player.exe file1.mp3 file2.mp3 ... fileN.mp3
он n раз слелает
player.exe file1.mp3
...
player.exe fileN.mp3


Поэтому твое приложение должно:

а) найти запущенную копию "себя", "передать" ему имя файла, полученное в ParamStr(1), fа само погибнуть. Если запущенных копий нет, тогда самому "открыть" этот файл.

6) уметь получать от других копий "себя" имена файлов, которе нужно открыть


 
Footballer ©   (2006-07-19 10:51) [22]


>   ЮЮ ©   (19.07.06 09:14) [21]

 Спасибо за совет, но нельзя как-нибудь попроще? Функцией там какой-нибудь? А то этот способ, как мне кажется сильно грузит проц(2000 раз открывать само себя!!!), и нерациональный.
 Вот Winamp, я так думаю, нашёл способ попроще...


 
Ketmar ©   (2006-07-19 11:39) [23]

>Footballer ©   (19.07.06 01:55) [17]
говорят о том, что Delphi -- это не BP и уж тем более не QB. и знать только язык -- это очень мало. надо ежё и в библиотеках ориентироваться. на что я и пытался намекнуть. теперь не намекаю, говорю открытым текстом.

>Footballer ©   (19.07.06 10:51) [22]
угу. способ называется shell extensions. вам туда пока рано.


 
Zeqfreed ©   (2006-07-19 13:52) [24]

> [22] Footballer ©   (19.07.06 10:51)

В winamp"е этим занимается специальный winamp agent — маленькое компактное приложеньице, насколько я могу судить. Проще способа нет, AFAIK.


 
Footballer ©   (2006-07-19 14:11) [25]


> ежё и в библиотеках ориентироваться

Извените, но какие библиотеки вы имели в виду?

> вам туда пока рано.

Ну почему же рано, по-моему никогда не рано постигать новые высоты :-)
Был бы благодарен, если бы вы объяснили, что это такое, или ссылку дали...

> В winamp"е этим занимается специальный winamp agent

А можно этот winamp agent использовать в своих целях, или написать самому что-то наподобии этого?


 
Bambucha   (2006-07-19 16:15) [26]


>  вам туда пока рано.

Я полностью согласен с футболёром


 
Zeqfreed ©   (2006-07-19 16:22) [27]

> [25] Footballer ©   (19.07.06 14:11)


> написать самому что-то наподобии этого?

Все в твоих руках.


 
Ketmar ©   (2006-07-19 16:57) [28]

>Footballer ©   (19.07.06 14:11) [25]
я имел в виду стандартные библиотеки Delphi. в том числе SysUtils и Classes, в которых много интересного. %-)

> Ну почему же рано
по определению. сначала желательно научиться программировать. и разобраться с Delphi. не с "батонокидательством", а с тем, как и что в Delphi работает и что вообще там есть. и зачем. иначе не имеет смысла туда лезь. вот скажите мне, например, что такое "интерфейс"? GUID? поясните механизм работы COM-объектов. или вот: "пространство имён оболочки и работа с ним".

за информацией "что это" можно пойти в гугль.

> А можно этот winamp agent использовать в своих целях, или
> написать самому что-то наподобии этого?

использовать нельзя. написать -- можно. не магическим же конденсированием этот агент длелали? тоже ведь писали...


 
!_SM_!   (2006-07-19 18:06) [29]

Про добавление файлов
unit Unit1;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, ShellApi;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
 private
   procedure DropFiles(var Mes: TWmDropFiles); message WM_DROPFILES;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure AddFile(const FL: String);
begin
  Form1.ListBox1.Items.Add(FL);
end;

procedure TForm1.DropFiles(var Mes: TWmDropFiles);
var N, I: Integer;
FlNm: String;
begin
 N:=DragQueryFile(Mes.Drop, $FFFFFFFF, nil, 0)-1;
 try
  for I:=0 to N do begin
   SetLength(FlNm, 80);
   DragQueryFile(Mes.Drop, I, PChar(FlNm), 80);
   FlNm:=PChar(FlNm);
   AddFile(FlNm);
  end;
 finally DragFinish(Mes.Drop); end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var N, N1: Integer;
begin
 ListBox1.Clear;
 N1:=ParamCount;
 for N:=1 to N1 do AddFile(ParamStr(N));
 DragAcceptFiles(Handle, True);
end;

end.


 
Footballer ©   (2006-07-19 19:11) [30]


> Ketmar ©   (19.07.06 16:57) [28]


> Что такое интерфейс?


 Говоришь ты умно, а даже вопрос ставишь некорректно... Итерфейс чего? Или как это слово переводится с английского на русский?
 Рискну предположить, что ты имеешь в виду интерфейс Delphi7. Это расположение всех менюшек, сами эти менюшки, кнопки и тд. и тп.


> COM технологии...


При использовании технологии COM между собой взаимодействуют Сервер и Клиент. Сервером может быть как отделное приложение, так и dll.Сервером может быть и отдельный комп, соединённый с клиентом посредством сети.

COM поддерживает 3 основных принципа: инкапсуляцию, наследование и полиморфизм.

Инкапсуляция-это механизм, объединяющий данные и методы, манипулирующие этими данными, а также защищает первое и второе от внешнего вмешательства или неправильного использования.

Наследование- это процесс, в результате которого один компонент может приобретать свойства другого.

Полиморфизм означает, что порождённый объект может изменять какие-то черты, сохраняя
главный принцип.

С тебя хватит. Надеюсь ты понял что это такое. А по гуглю лазить незачем. Те вопросы,
которые ты мне задал, проходят на уроках информатики в школе.


 
Zeqfreed ©   (2006-07-19 20:41) [31]

> Говоришь ты умно, а даже вопрос ставишь некорректно... Итерфейс
> чего? Или как это слово переводится с английского на русский?
>
> Рискну предположить, что ты имеешь в виду интерфейс Delphi7.
> Это расположение всех менюшек, сами эти менюшки, кнопки
> и тд. и тп.

Ответ не верный :)
Хотя… Ответов, их много: http://www.google.com/search?client=opera&rls=en&q=define:+Interface&sourceid=opera&ie=utf-8&oe=utf-8


 
Homo Sapiens ©   (2006-07-19 22:07) [32]

Удалено модератором


 
Homo Sapiens ©   (2006-07-19 22:08) [33]

Удалено модератором


 
Zeqfreed ©   (2006-07-19 22:09) [34]

> [32] Homo Sapiens ©   (19.07.06 22:07)

Да я вам лично, если мне не изменяют память, зрение и Ctrl+F, ничего в пределах дынной ветки и не говорил.


 
Ketmar ©   (2006-07-19 22:20) [35]

>Footballer ©   (19.07.06 19:11) [30]
ну вот. первй вопрос вообще не понят (хотя из контекста, имо, вполне понятно что есть "интерфейс" и к чему оно там).

на третий вопрос ответа не дано вообще. после первого предложения следуют ответы на вопросы, которые вообще не были заданы (у Вас проблема с логическим мышлением, имо).

второй и четвёртый тихо проигнорены.

вопрос номер последний: нафига выпендриваться, если не можешь ответить? я ведь эти вопросы задал далеко не просто так. они имеют самое прямое отношение к теме "shell extensions". собственно, это даже не столько вопросы, сколько хинты. так что вместо демонстрирования своей крутости лучше бы поспрошали-таки гугль...

>Homo Sapiens ©   (19.07.06 22:07) [32]
думаю, что знания чисто теоретические. %-)


 
Footballer ©   (2006-07-20 00:15) [36]

Удалено модератором


 
Footballer ©   (2006-07-20 00:15) [37]

Удалено модератором


 
Footballer ©   (2006-07-20 00:16) [38]

Да, кстати, мне кажется, я немного отвлёкся от основной темы

Хотел бы поблагодарить:
1) Ещё раз Marser за пост [1] (сортировка массива);
2) Огромное спасибо ArtemESC © за пост [16] (поиск);
3) Поблагодарю Kertman если он наконец объяснит, что такое"shell extensions" или какой-нибудь другой вариант решения первого вопроса :-)

А тем временем у меня осталось всего 3 вопроса:
1) Как можно "открыть с помощью" сразу несколько файлов и по очереди их обработать;
2) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;
3) Как можно узнать длину песенки, не открывая каждый раз файл, вот так:
for i:=0 to OpenDialog1.Files.Count-1 do
begin
Mediaplayer1.filename:=opendialog1.files.strings[i];
mediaplayer1.open;
time:=found_file_lenght; //Это такая функция
..............................
end;

Зарание благодарю!


 
Footballer ©   (2006-07-20 00:22) [39]


> !_SM_!   (19.07.06 18:06) [29]
> Про добавление файлов

Куда?
В плейлист из папок?
Или я не так понял?


 
!_SM_!   (2006-07-20 00:41) [40]


> Footballer ©   (20.07.06 00:22) [39]
> Куда?
>
> Footballer ©   (18.07.06 00:15) 
> 1) Как можно "открыть с помощью" сразу несколько файлов и по очереди
> их обработать;

А куда надо?


 
!_SM_!   (2006-07-20 00:42) [41]

Я просто пример написал обработки файлов по очереди, а дальше сам чего хочешь с ними (файлами из спика) делай.


 
Footballer ©   (2006-07-20 00:57) [42]

По-моему, вы пытаетесь делать, как Alx_ © (См.2).
Да, и что это за функция DragAcceptFiles и процедура TForm1.DropFiles?


 
!_SM_!   (2006-07-20 01:18) [43]

Пробовал мой код? Если нет, создай новый проект, добавь на форму ListBox
оставь имя ListBox1. Скомпилируй. Потом, хочешь, выделяй файлы в провднике и кидай на значок ехе файла, тоже в проводнике, который только что скомпилил. Или на уже загруженную форму брось выделенные файлы.
Что получилось?


 
Footballer ©   (2006-07-20 01:36) [44]


> Что получилось?

Ничего...
А что должно получиться? Может я что-то нитак сделал...


 
!_SM_!   (2006-07-20 12:16) [45]

Сделал как? Создал новый проект. Вставил на голую форму ListBox1. Оставил имя ListBox1. Выделил код, который я написал в !_SM_!   (19.07.06 18:06) [29], целиком от unit Unit1; до end. Скопировать. Выделить у себя в редакторе делфи в модуле формы весь текст, удалить его и вставить из буфера мой. Потом два раза щелкнуть по форме - чтобы задействовать событие OnCreate. Скомпилировать. Опять ничего не получилось?
А значит "ничего" и не должно получиться :(( Значит что-то нитак делаешь.
У меня все отлично получается. При старте проги если кидаешь на значек проги список (кучу выделенных) файлов, прога запустится и ListBoxe будет весь этот список, так-же если уже на открытую форму бросишь список файлов.
Может я чего не догоняю, того чего ты желаешь получить.....


 
Footballer ©   (2006-07-20 12:25) [46]

Тьфу ты... Я ж OnCrete не задействовал...
Ща попробуем...


 
Footballer ©   (2006-07-20 13:24) [47]


> !_SM_!  

Огромаднейшее СПАСИБО
Я ТАК ДОЛГО пытался это сделать, и наконец нашёл  у тебя!
Ещё раз спасибо! Теперь мой благодарный список выглядит так:
1) Ещё раз Marser за пост [1] (сортировка массива);
2) Огромное спасибо ArtemESC © за пост [16] (поиск);
3) Поблагодарю Kertman если он наконец объяснит, что такое"shell extensions" или какой-нибудь другой вариант решения первого вопроса :-)
4) Огромаднейшее СПАСИБО !_SM_! за пост [29] (перетаскивание файлов в плейлист, хотя я это даже и не просил ;-))
P.S. Но кстати проблему с множественным "открыть с помощью" это не решает...


 
!_SM_!   (2006-07-20 17:05) [48]


> Footballer ©   (20.07.06 13:24) [47]


>  Но кстати проблему с множественным "открыть с помощью"
> это не решает...

А ты сделай(добавь) свое меню типа "отрыть с помощью МОЕГО плеера".
Как добавить (меню) обсуждалось уже нираз.
А стандартно меню "Открыть с помощью..." не работает даже и у Worda. Выделяешь кучу файлов жмешь открыть с помощью... выбираешь Word, или любую другую прогу которая позволяет открывать много документов(файлов), и.... открывается один файл (который из выделенных был под мышой) ну т.е. на нем правый клик.


 
!_SM_!   (2006-07-20 17:11) [49]

Можно еще вот такую фиговину сделать:

function VerifyFile(const S: String): Boolean;
begin
 //Здесь проверяй нужен этот файл или нет
 Result:=True;
end;
......
  FlNm:=PChar(FlNm);
  if VerifyFile(FlNm) then AddFile(FlNm);
 end;
.....

Ну это так для разнообразия.


 
Footballer ©   (2006-07-25 01:34) [50]

Продолжаю ветвь... ответьте плиз на вопрос № 2: Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer

Да, кстати с "shell extensions" мы вроде разобрались, но всё-таки возникла проблемка :(
Пункт в меню, всплывающее по нажатию правой кнопки мыши (кстати, как оно называется?) добавляется, но когда пытаешься нажать на него всплывают ошибки типа Invalid stream file (1) Шо це таке здесь происходит?


 
Footballer ©   (2006-07-25 18:01) [51]

Люди, ну серьёзно, никто больше помочь не может? :-(((


 
Ketmar ©   (2006-07-25 18:17) [52]

>Footballer ©   (25.07.06 01:34) [50]
как всегда -- виновата многострадальная 17-я строка.


 
Footballer ©   (2006-07-25 18:37) [53]


> как всегда -- виновата многострадальная 17-я строка.

А в коде 16 строк... :-)
procedure TMainForm.createmenu;
var
 reg:tregistry;
begin
 reg:=tregistry.Create;
 reg.RootKey:=HKEY_CLASSES_ROOT;
 reg.OpenKey("*\Shell\Open With Chuk && Gek Player",true);
 reg.WriteString("","Open With Chuk && Gek Player");
 reg.WriteString("","Open With Chuk && Gek Player");
 reg.CloseKey;
 reg.OpenKey("*\Shell\Open With Chuk && Gek Player\command",true);
 reg.WriteString("","command");
 reg.WriteString("",paramstr(0)+" "1%"");
 reg.CloseKey;
 reg.Free;
end;


 
programania ©   (2006-07-25 19:35) [54]

>3) Как можно сделать баланс (правая - левая колонка) Примечание:Использую компонент TBassPlayer;

Вот из help к Bass:

BASS_ChannelSetAttributes(
   DWORD handle,
   int freq,
   int volume,
   int pan
);
handle The channel handle... a HCHANNEL, HMUSIC, HSTREAM, or CDCHANNEL.
freq The sample rate... 100 (min) - 100000 (max), 0 = original rate (when the channel was created), -1 = leave current.
volume The volume... 0 (silent) - 100 (max), -1 = leave current.
pan The panning position... -100 (left) - 100 (right), -101 = leave current.

например
BASS_ChannelSetAttributes(chan,-1,-100,pan);


 
Footballer ©   (2006-07-25 19:50) [55]

Код ещё не смотрел, но всё равно спасибо...



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.051 c
3-1149738973
Soi
2006-06-08 07:56
2006.08.13
Экспорт данных из одной таблицы в другую


2-1153524835
Батыр
2006-07-22 03:33
2006.08.13
Размер папки


2-1153736129
Delphi basic
2006-07-24 14:15
2006.08.13
Выбор значения поля в DBGrid из списка и сопоставление


4-1145539148
EarlVadim
2006-04-20 17:19
2006.08.13
Нет работает прокрутка в ScrollBar. Кто сталкивался?


6-1143447618
Некто_Аполло
2006-03-27 12:20
2006.08.13
Дозвон без соединения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский