![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
но проблема у меня с друзьями из медиаплеера bass.dll сделал: (opendiaalog кликов открытым новую музыку, чтобы включить музыку, но после первого музыкального закрыть: ( чтобы не быть где проблема...
Код:
{
Source code under Bass license
by Alessandro Cappellozza
http://digilander.libero.it/Kappe
mail acappellozza@ieee.org
Notice
The body (this unit) only drive the classes and Bass,
the rest is wrtitten in OOD for separate the draw code
}
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, osc_vis, spectrum_vis,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, circle_vis, Bass, CommonTypes, ExtDlgs,
jpeg, Buttons, MPlayer, SLMultiInput, SLPair, LPComponent, MLDSPlayer,
ALDSAudioPlayer;
type
TFormPlayer = class(TForm)
Button1: TButton;
OpenDialog: TOpenDialog;
TimerRender: TTimer;
RadioMode: TRadioGroup;
RadioDraw: TRadioGroup;
ColorDialog: TColorDialog;
OpenPictureDialog: TOpenPictureDialog;
Image1: TImage;
PaintFrame: TPaintBox;
BackImageRes: TImage;
Button4: TButton;
Button5: TButton;
Button6: TButton;
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TimerRenderTimer(Sender: TObject);
procedure RadioModeClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormPlayer : TFormPlayer;
Channel : DWORD;
implementation
{$R *.dfm}
procedure TFormPlayer.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
FormPlayer.perform(WM_SYSCOMMAND, $F012, 0);
end;
procedure TFormPlayer.FormCreate(Sender: TObject);
begin
BASS_Init(-1, 44100, 0, Application.Handle, nil);
Spectrum := TSpectrum.Create(PaintFrame.Width, PaintFrame.Height);
CircleScope := TCircleScope.Create(PaintFrame.Width, PaintFrame.Height);
OcilloScope := TOcilloScope.Create(PaintFrame.Width, PaintFrame.Height);
end;
procedure TFormPlayer.Button1Click(Sender: TObject);
begin
Spectrum.SetBackGround(False, BackImageRes.Picture.Graphic);
Spectrum.Pen := clmaroon;
OpenDialog.Filter := 'mp3|*.mp3';
if not OpenDialog.Execute then exit;
channel := BASS_StreamCreateFile(False, PChar(opendialog.filename), 0, 0, BASS_SAMPLE_LOOP {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
BASS_ChannelPlay(channel, False);
end;
procedure TFormPlayer.TimerRenderTimer(Sender: TObject);
var FFTFata : TFFTData; WaveData : TWaveData;
begin
if BASS_ChannelIsActive(Channel) <> BASS_ACTIVE_PLAYING then Exit;
case RadioDraw.ItemIndex of
2 :
begin
BASS_ChannelGetData(Channel, @WaveData, 2048);
CircleScope.Draw (PaintFrame.Canvas.Handle, WaveData, 35 , 45);
end;
1 :
begin
BASS_ChannelGetData(Channel, @WaveData, 2048);
OcilloScope.Draw (PaintFrame.Canvas.Handle, WaveData, 35, 50);
end;
0 :
begin
BASS_ChannelGetData(Channel, @WaveData, 2048);
Spectrum.Draw (PaintFrame.Canvas.Handle, FFTFata, 40, 60);
end;
end;
end;
procedure TFormPlayer.RadioModeClick(Sender: TObject);
begin
Spectrum.Mode := RadioMode.ItemIndex;
CircleScope.Mode := RadioMode.ItemIndex;
OcilloScope.Mode := RadioMode.ItemIndex;
end;
procedure TFormPlayer.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Bass_Free;
end;
procedure TFormPlayer.Button4Click(Sender: TObject);
begin
close;
end;
procedure TFormPlayer.Button5Click(Sender: TObject);
begin
BASS_stop();
end;
procedure TFormPlayer.Button6Click(Sender: TObject);
begin
BASS_Start();
end;
procedure TFormPlayer.BitBtn1Click(Sender: TObject);
begin
BASS_ChannelPlay(channel, False);
end;
end.mediaplayer как новая музыка open старинная музыка automusic close pls.... |
|
#2
|
|||
|
|||
|
speak rusian little ... ı am sory
![]() |
|
#3
|
||||
|
||||
|
Увж. модераторы! Похоже это бот - не в тот раздел постит, код рабочего плеера за косяки выдаёт, интересно, с какой целью? Набор белиберды выдаётся за незнание великого и могучего, да и на ЯМО строчит с ошибками - бот голимый! По ходу требуется или удаление темы, либо перенос её в соответствующий раздел "мультимедиа".
|
|
#4
|
||||
|
||||
|
какой бот, ты о чем?
|
|
#5
|
||||
|
||||
|
Не может реальный чел так слова в поток выстраивать - только программа могет
![]() |
|
#6
|
||||
|
||||
|
Ага, GLaDOS или Скай-нет или Ёда.
|
|
#7
|
|||
|
|||
|
хорошо проблема распаковать ваш сайт страница я нашел код
delphisources.ru veryyyyy thanx... |
|
#8
|
|||
|
|||
|
. .
|
|
#9
|
||||
|
||||
![]() как-то так... |
|
#10
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#11
|
|||
|
|||
|
Do you speak English? Your Russian's awful.
|
|
#12
|
|||
|
|||
|
very correct. ı' speak rusian terrible
but ı mediaplayer open double song problem solve . how the song duration bass.dll ![]() |
|
#13
|
||||
|
||||
|
So:
Код:
var Time : DWORD; ... Time := DWORD(Trunc(BASS_ChannelBytes2Seconds(Channel, BASS_ChannelGetLength(Channel, BASS_POS_BYTE)))); |
|
#14
|
||||
|
||||
|
Try to use materials of http://www.blitzbasic.com/Community/...hp?topic=82669 (though on a VB, but everything is clear) , to you it will be much simpler it. Though there is such:
Код:
Len=:BASS_StreamGetLength(a_stream); // length in bytes Time=:BASS_ChannelBytes2Seconds(a_stream,len); // the time length Последний раз редактировалось Alegun, 12.08.2012 в 02:54. |
|
#15
|
||||
|
||||
|
Не нужно советовать устаревшие функции (BASS_StreamGetLength)
No need to advise the deprecated functions (BASS_StreamGetLength) Цитата:
|