Sayfayı Yazdır | Pencereyi Kapat

Ses kaydı

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=931
Tarih: 06 Ocak 2025 Saat 12:22
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Ses kaydı
Mesajı Yazan: MustafaCetin
Konu: Ses kaydı
Mesaj Tarihi: 11 Eylül 2024 Saat 15:15
Veritabanına ses kaydı için kullanıcı link yüklüyor onu veritabanına kaydediyorum fakat  notlarım sayfasında oynat butonuna tıkladığımda Ses dosyası oynatılmadı .Geçerli bir  url giriniz  mesasjı alıyorum.( Githuba yüklediğim sesin linkini verdim olmadı wav olarak verdim linki olmadı Vocaroo sitesine yükleyip oradaki linki verdim yine aynı hatayı alıyorum.)

var
 anaSayfa, girisSayfa, MyForm, kayitSayfa, notlarimForm, postLoginSayfa: TclForm;
nameK, surnameK, passwordK: TclProEdit;
nameG, surnameG, passwordG: TclProEdit;
notBasligiEdit, notIcerigiEdit, AudioFilePathEdit: TclProEdit; 
kayitButton, notlarimButton, kaydetButton, girisButton, deleteButton, playAudioButton: TclProButton;
notBasligiLabel, notlarimLabel, notIcerigiLabel, titleLabel, audioLabel, contentLabel: TclProLabel;
VScroll, notIcerigiScrollBox, VScrollNotlarim, contentScrollBox: TCLVertScrollBox;
contentPanel: TclProPanel;
Panel1: TclProPanel; 
userimage, notBasligiImage, notIcerigiImage, kaydetImage, audioIcon: TclProImage;
currentUserId, selectedNoteId, labelCounter, noteId: Integer; 
YPosition: Integer; 
noteTitle, noteContent, AudioFilePath, audioPath: string;  
MediaPlayer1: TclMediaPlayer;
isRecording: Boolean;  
kayitLyt, girisLyt: TclLayout;


void SaveNoteWithAudio;
{
  try
    // Ses dosyası yolunu kontrol et
    AudioFilePath = AudioFilePathEdit.Text;
    if AudioFilePath <> ''
    {
      // Notu ve ses dosyası yolunu veritabanına kaydet
     Clomosy.DBSQLiteQuery.Sql.Text = 
  'INSERT INTO Notes (note_title, note_content, audio_path, user_id) VALUES (' +
  QuotedStr(notBasligiEdit.Text) + ', ' + 
  QuotedStr(notIcerigiEdit.Text) + ', ' + 
  QuotedStr(AudioFilePath) + ', ' + IntToStr(currentUserId) + ');';
Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Not ve ses dosyası başarıyla kaydedildi!');
    }
    else
    {
      ShowMessage('Ses dosyası yolunu girmediniz!');
    }
  except
    ShowMessage('Not kaydı sırasında bir hata oluştu: ' + LastExceptionMessage);
  }
}
void ShowNotlarimScreen;

{
  notlarimForm = TclForm.Create(Self);

  if Assigned(notlarimForm)
    notlarimForm.SetFormBGImage(' https://r.resimlink.com/csd_gl.png" rel="nofollow - https://r.resimlink.com/csd_gl.png ');
  VScrollNotlarim = notlarimForm.AddNewVertScrollBox(notlarimForm, 'VScrollNotlarim');
  VScrollNotlarim.Align = alClient;
  VScrollNotlarim.Margins.Left = 25;
  VScrollNotlarim.Margins.Right = 25;
  VScrollNotlarim.Margins.Top = 10;
  VScrollNotlarim.Width = 300;
  VScrollNotlarim.Height = 450; 
  VScrollNotlarim.ShowScrollBars = True;

  YPosition = 50;
  labelCounter = 1;

  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT * FROM Notes WHERE user_id = ' + IntToStr(currentUserId);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    while (not Clomosy.DBSQLiteQuery.Eof)
    {
      noteId = Clomosy.DBSQLiteQuery.FieldByName('note_id').AsInteger;
      noteTitle = Clomosy.DBSQLiteQuery.FieldByName('note_title').AsString;
      noteContent = Clomosy.DBSQLiteQuery.FieldByName('note_content').AsString;
      audioPath = Clomosy.DBSQLiteQuery.FieldByName('audio_path').AsString;
      
      titleLabel = notlarimForm.AddNewProLabel(VScrollNotlarim, 'titleLabel' + IntToStr(labelCounter), noteTitle);
      titleLabel.Align = alTop;
      titleLabel.Margins.Left = 25;
      titleLabel.Margins.Right = 25;
      titleLabel.Margins.Top = 10;
      titleLabel.Margins.Bottom = 10;
      titleLabel.Width = 300;
      titleLabel.Height = 40;
      titleLabel.clProSettings.RoundWidth = 20;
      titleLabel.clProSettings.RoundHeight = 20;
      titleLabel.clProSettings.FontSize = 16;
      titleLabel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3F51B5');
      titleLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
      titleLabel.clProSettings.WordWrap = True;
      titleLabel.SetclProSettings(titleLabel.clProSettings);

      
      contentPanel = notlarimForm.AddNewProPanel(VScrollNotlarim, 'contentPanel' + IntToStr(labelCounter));
      contentPanel.Align = alTop;
      contentPanel.Margins.Left = 25;
      contentPanel.Margins.Right = 25;
      contentPanel.Margins.Top = 5;
      contentPanel.Margins.Bottom = 15;
      contentPanel.Width = 300;
      contentPanel.Height = 250; 
      contentPanel.clProSettings.RoundWidth = 15;
      contentPanel.clProSettings.RoundHeight = 15;
      contentPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E0E0E0');
      contentPanel.SetclProSettings(contentPanel.clProSettings);

     
      contentScrollBox = notlarimForm.AddNewVertScrollBox(contentPanel, 'contentScrollBox' + IntToStr(labelCounter));
      contentScrollBox.Align = alClient;
      contentScrollBox.Margins.Left = 15;
      contentScrollBox.Margins.Right = 15;
      contentScrollBox.Margins.Top = 15;
      contentScrollBox.Margins.Bottom = 15;
      contentScrollBox.Width = contentPanel.Width - 30;
      contentScrollBox.Height = 150; 
      contentScrollBox.ShowScrollBars = True;

      
      contentLabel = notlarimForm.AddNewProLabel(contentScrollBox, 'contentLabel' + IntToStr(labelCounter), noteContent);
      contentLabel.Align = alTop;
      contentLabel.Width = contentScrollBox.Width;
      contentLabel.Height = contentScrollBox.Height;
      contentLabel.clProSettings.FontSize = 14;
      contentLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
      contentLabel.clProSettings.WordWrap = True;  
      contentLabel.SetclProSettings(contentLabel.clProSettings);

      
      if (audioPath <> '') 
{
  audioIcon = notlarimForm.AddNewProImage(contentPanel, 'audioIcon' + IntToStr(labelCounter));
  audioIcon.Align = alBottom;
  audioIcon.Margins.Left = 15;
  audioIcon.Margins.Right = 5;
  audioIcon.Margins.Top = 5;
  audioIcon.Margins.Bottom = 5;
  audioIcon.Width = 20;  
  audioIcon.Height = 20;
  audioIcon.clProSettings.PictureSource = ' https://i.hizliresim.com/cfbj0dw.png" rel="nofollow - https://i.hizliresim.com/cfbj0dw.png ';  
  audioIcon.clProSettings.PictureAutoFit = True;
  audioIcon.SetclProSettings(audioIcon.clProSettings);


  audioLabel = notlarimForm.AddNewProLabel(contentPanel, 'audioLabel' + IntToStr(labelCounter), audioPath);
  audioLabel.Align = alBottom;
  audioLabel.Margins.Left = 40;  
  audioLabel.Margins.Right = 15;
  audioLabel.Margins.Top = 5;
  audioLabel.Margins.Bottom = 5;
  audioLabel.Width = 200;
  audioLabel.Height = 20;
  audioLabel.clProSettings.FontSize = 12;
  audioLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#FF5722');
  audioLabel.SetclProSettings(audioLabel.clProSettings);

 
  playAudioButton = notlarimForm.AddNewProButton(contentPanel, 'playAudioButton' + IntToStr(labelCounter), 'Oynat');
  playAudioButton.Align = alBottom;
  playAudioButton.Margins.Left = 0;
  playAudioButton.Margins.Right = 15;
  playAudioButton.Margins.Top = 5;
  playAudioButton.Margins.Bottom = 5;
  playAudioButton.Width = 50;
  playAudioButton.Height = 25;
  playAudioButton.clProSettings.RoundWidth = 10;
  playAudioButton.clProSettings.RoundHeight = 10;
  playAudioButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
  playAudioButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  playAudioButton.SetclProSettings(playAudioButton.clProSettings);


  notlarimForm.AddNewEvent(playAudioButton, tbeOnClick, 'PlayAudioFile');
}

      
      deleteButton = notlarimForm.AddNewProButton(contentPanel, 'deleteButton' + IntToStr(labelCounter), 'Sil');
      deleteButton.Align = alBottom;
      deleteButton.Margins.Left = 0;
      deleteButton.Margins.Right = 5;
      deleteButton.Margins.Top = 5;
      deleteButton.Margins.Bottom = 5;
      deleteButton.Width = 50;  
      deleteButton.Height = 25;  
      deleteButton.clProSettings.RoundWidth = 10;
      deleteButton.clProSettings.RoundHeight = 10;
      deleteButton.clProSettings.PictureSource = ' https://i.hizliresim.com/1kr3xb2.png" rel="nofollow - https://i.hizliresim.com/1kr3xb2.png ';
      deleteButton.SetclProSettings(deleteButton.clProSettings);

      selectedNoteId = noteId; 
      notlarimForm.AddNewEvent(deleteButton, tbeOnClick, 'DeleteSelectedNote');  

      labelCounter = labelCounter + 1;
      Clomosy.DBSQLiteQuery.Next;
    }
  except
    ShowMessage('Veritabanından notlar alınırken bir hata oluştu: ' + LastExceptionMessage);
  }

  notlarimForm.Run;
}

void PlayAudioFile;
{
  try
  {
    if not Assigned(MediaPlayer1) 
    {
      MediaPlayer1 = TclMediaPlayer.Create(Self);  
    }

    if audioPath <> ''
    {
      try
      {
        MediaPlayer1.FileName = audioPath; 
        MediaPlayer1.Play;  
      }
      except
      
        ShowMessage('Ses dosyası oynatılamadı. Geçerli bir yol veya URL girin.');
      }
    }
    else 
    {
      ShowMessage('Ses dosyası yolu boş!');
    }
  }
  except
    ShowMessage('Ses dosyası oynatılamadı: ' + LastExceptionMessage);
  }
}



-------------
Mustafa Çetin



Cevaplar:
Mesajı Yazan: MustafaCetin
Mesaj Tarihi: 11 Eylül 2024 Saat 17:22
  ShowMessage('Ses dosyası oynatılamadı. Geçerli bir yol veya URL girin.'+LastExceptionMessage); bu kodda Unsupported media file mesajı geliyor


-------------
Mustafa Çetin


Mesajı Yazan: Developer
Mesaj Tarihi: 13 Eylül 2024 Saat 14:01
Merhaba Mustafa,
Ses dosyası için :
https://forum.clomosy.com.tr/topic880&KW=_post1669.html#1669" rel="nofollow - https://forum.clomosy.com.tr/topic880&KW=_post1669.html#1669
inceler misin?



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net