AutoPlay Media Studio ile Birden Fazla Ses Dosyasını Sırayla Çalma

guclusat

Tanınmış Üye
Süper Moderatör
Play Multiple Audio Files in Sequence
In AutoPlay Media Studio, it is possible to play one audio file after another using the On Audio event.

As an example, we will create a project that when run will load three files into a table, and play them back-to-back until the third song is finished.

To accomplish this:

  1. Insert the following code into your Global Functions (click Project > Global Functions):
Kod:
-- keep track of the audio files
audio_count = 1;

--loads desired audio files into a table
audio = {
"Autoplay\\Audio\\audio_file1.ogg",
"Autoplay\\Audio\\audio_file2.ogg",
"Autoplay\\Audio\\audio_file3.ogg"
};

2. Insert the following code into the On Show event of your page:

Kod:
Audio.Load(CHANNEL_USER1, audio[audio_count], true, false);
Insert the following code into the On Audio event of your page:
if e_State == "Finish" then
    audio_count = audio_count + 1;
    --ensures a valid file will be loaded
    if audio_count < Table.Count(audio)+1 then
        Audio.Load(CHANNEL_USER1, audio[audio_count], true, false);
    end
end
 

AutoPlay Media Studio ile Birden Fazla Ses Dosyasını Sırayla Çalma​


AutoPlay Media Studio ile hazırladığınız bir uygulamada birden fazla ses dosyasını arka arkaya otomatik olarak çaldırabilirsiniz. Örneğin bir müzik uygulamasında üç farklı ses dosyasının ilkinden başlayarak son dosyaya kadar sırayla oynatılmasını sağlayabilirsiniz.

Bu yöntemde ses dosyalarının isimlerini bir tablo içerisinde tutuyoruz. Uygulama ilk çalıştığında tablodaki ilk ses dosyası oynatılıyor. Çalan ses dosyası tamamlandığında ise On Audio olayı devreye girerek sıradaki dosyanın yüklenmesini sağlıyor.

Ses Dosyalarını Tanımlama​


Öncelikle Project > Global Functions bölümünü açın.

Buraya aşağıdaki kodu ekleyin:

Kod:
-- Ses dosyalarının sırasını takip eder
audio_count = 1;

-- Çalınacak ses dosyaları
audio = {
"AutoPlay\Audio\audio_file1.ogg",
"AutoPlay\Audio\audio_file2.ogg",
"AutoPlay\Audio\audio_file3.ogg"
};

Burada audio_count değişkeni hangi ses dosyasının sırada olduğunu takip eder. Başlangıç değeri 1 olduğu için ilk olarak tablodaki birinci ses dosyası çalınır.

audio tablosunda ise çalınacak dosyaların yolları bulunur.

Örneğin:

Kod:
audio = {
"AutoPlay\Audio\audio_file1.ogg",
"AutoPlay\Audio\audio_file2.ogg",
"AutoPlay\Audio\audio_file3.ogg"
};

Bu durumda dosyalar şu sırayla oynatılır:

audio_file1.ogg → audio_file2.ogg → audio_file3.ogg

İsterseniz tabloya daha fazla ses dosyası da ekleyebilirsiniz.

İlk Ses Dosyasını Başlatma​


Şimdi sayfanın On Show olayını açın ve aşağıdaki kodu ekleyin:

Kod:
Audio.Load(CHANNEL_USER1, audio[audio_count], true, false);

Uygulama veya sayfa açıldığında audio_count değeri 1 olduğu için tablodaki ilk ses dosyası yüklenir ve çalmaya başlar.

Burada CHANNEL_USER1, ses dosyasının çalacağı kanalı belirtir.

Ses Dosyası Bittiğinde Sıradakini Çalma​


Asıl işlemi gerçekleştiren bölüm On Audio olayıdır.

Sayfanın On Audio olayını açın ve aşağıdaki kodu ekleyin:

Kod:
if e_State == "Finish" then
audio_count = audio_count + 1;

-- Geçerli bir ses dosyası olduğundan emin olur
if audio_count < Table.Count(audio) + 1 then
    Audio.Load(CHANNEL_USER1, audio[audio_count], true, false);
end

end

Burada e_State == "Finish" kontrolü, çalan ses dosyasının tamamlanıp tamamlanmadığını kontrol eder.

Ses dosyası bittiğinde:

Kod:
audio_count = audio_count + 1;

satırı çalışır ve sayaç bir artırılır.

Örneğin ilk ses dosyası bittiyse audio_count değeri 1'den 2'ye çıkar. Böylece ikinci ses dosyası yüklenir.

İkinci dosya tamamlandığında sayaç 3 olur ve üçüncü dosya oynatılır.

Üçüncü dosya da tamamlandığında tabloda başka dosya olmadığı için oynatma işlemi sona erer.

Sistemin Çalışma Mantığı​


Bu sistemin çalışma şekli oldukça basittir:

1. Uygulama açılır ve audio_count = 1 olarak başlar.

2. On Show olayı ilk ses dosyasını çalmaya başlar.

3. İlk dosya tamamlandığında On Audio olayı çalışır.

4. Sayaç bir artırılır ve ikinci ses dosyası oynatılır.

5. Aynı işlem sonraki dosyalar için devam eder.

6. Listedeki son ses dosyası tamamlandığında oynatma işlemi sona erer.

Bu yöntem sayesinde her ses dosyası için ayrı bir buton veya ayrı bir oynatma kodu hazırlamak gerekmez. Çalınacak dosyaları yalnızca audio tablosuna ekleyerek listeyi istediğiniz kadar genişletebilirsiniz.

Daha Fazla Ses Dosyası Eklemek​


Örneğin beş farklı ses dosyası çalmak istiyorsanız tabloyu şu şekilde genişletebilirsiniz:

Kod:
audio = {
"AutoPlay\Audio\audio_file1.ogg",
"AutoPlay\Audio\audio_file2.ogg",
"AutoPlay\Audio\audio_file3.ogg",
"AutoPlay\Audio\audio_file4.ogg",
"AutoPlay\Audio\audio_file5.ogg"
};

Kodun geri kalanını değiştirmenize gerek yoktur. Table.Count(audio) ifadesi tablodaki toplam dosya sayısını kontrol ettiği için sistem listedeki dosya sayısına göre otomatik olarak çalışacaktır.

Bu şekilde AutoPlay Media Studio içerisinde birden fazla müzik veya ses dosyasını belirlediğiniz sıraya göre arka arkaya oynatabilirsiniz.
 
Geri
Yukarı