Windows Media Player'dan Parça Adını Alma.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
seho
Üye
Mesajlar: 51
Kayıt: 01 Nis 2008 12:40

Windows Media Player'dan Parça Adını Alma.

Mesaj gönderen seho »

Merhaba.

Windows media player ile radyo programı yaptım ve Takıldığım konu radyoda o anda çalan parçanın adı ve sanatçı adını almak. Forumda bir hayli döküman okudum ama parça adını almakla ilgibi bir yazı bulamadım.

İyi çalışamlar diler şindiden tş ederim.
En son seho tarafından 04 Haz 2009 11:23 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Windows Media Player'dan Parça Adını Alma.

Mesaj gönderen umutcanster »

http://www.experts-exchange.com/Program ... 47965.html

yardımcı olur...sitenin en aşağısında görürsün kodları
seho
Üye
Mesajlar: 51
Kayıt: 01 Nis 2008 12:40

Re: Windows Media Player'dan Parça Adını Alma.

Mesaj gönderen seho »

verdiğin adresde üyelik filan istiyor ayrıca ücretli işlemler yardımcı olacak açık kaynak kodlu bişey bulamadım. Tş ederim ilginiz için.

SHOUT cast olayı il almak mümkünmüş ama tam olarak nasıl alınacağını bilmiyorum. Onun araştırmasını yapmaktayım bilgisi olan arkadaşlar varsa bu konuda yardımlarını bekliyorum.

İyi çalışmalar.
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Windows Media Player'dan Parça Adını Alma.

Mesaj gönderen umutcanster »

galiba tam olarak ne dediğimi anlamamışsınız :) sitenin en aşağısında bu cevaplar verilmiş

Kod: Tümünü seç


If we consider that that the currently played song is selected, you can check the code above:

procedure TForm1.Button1Click(Sender: TObject);
var
  SelectedItemsCount  : Integer;
  Res                 : Integer;
  IntArr              : array[0..1] of Integer;
  Buffer              : array[0..144] of Char;
begin
  // otherwise we will get LB_ERR
  ListBox1.MultiSelect := True;

  // get how many items are selected
  selectedItemsCount := SendMessage(ListBox1.Handle, LB_GETSELCOUNT, 0, 0);
  if selectedItemsCount <> LB_ERR then
    ShowMessage(IntToStr(selectedItemsCount) + ' selected items');

  // get selected items - index starts from 0
  Res := SendMessage(ListBox1.Handle, LB_GETSELITEMS, 1, Integer(@IntArr[0]));
  if Res <> LB_ERR then
    ShowMessage('Selected item ' + IntToStr(IntArr[0]));

  // get the item text
  SendMessage(ListBox1.Handle, LB_GETTEXT, IntArr[0], lParam(@Buffer));
  ShowMessage(Buffer);

  // THE SELECTED ITEM TEXT is in BUFFER
end;

Kod: Tümünü seç

Windows Media Player is OCX.

From Delphi:
1) Component / Import ActiveX Control
2) Choose "Windows Media Player" (C:\WinXP\system32\wmp.dll)
3) Click create unit

This will generate WMPLib_TLB unit. Then you have to work with the interfaces inside, something like
uses
  ComObj, ActiveX, WMPLib_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
  WMP    : IWMPPlayer4;
  Result : IWMPPlayer4;
begin
  try
    OleCheck(CoCreateInstance(CLASS_WindowsMediaPlayer, nil,
      CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IWMPPlayer4, Result))
  except
    on E: EOleSysError do
      begin
        ShowMessage('problem');
        Exit;
      end;
  end;
  WMP := Result as IWMPPlayer4;
end;

initialization
  CoInitialize(nil);

But since I don't know which interface is user for the playlist, i just tool IWMPPlayer4 as example. You have IWMPMedia, IWMPPlaylist, IWMPPlaylistCollection, etc.... So I gues you should consult anyway with MSDN ...
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Windows Media Player'dan Parça Adını Alma.

Mesaj gönderen umutcanster »

eğer programının içinde varsa media player bu kodla alabilirsin :

"ShowMessage(WindowsMediaPlayer1.currentMedia.name);"
Cevapla