Şimdi Ara

Cevap: C# Fotoğraf Ve Ses dosyalarını birleştirerek video oluşturma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
1
Cevap
0
Favori
2.019
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • edit: silinebilir. ben başka konuya cevap vermiştim ama yeni başlık olarak gelmiş nedense.
    asıl başlık:http://forum.donanimhaber.com/m_91742263/tm.htm

    benim aklımda da öyle birşey var.

    class IMAGE{
    Image image;
    TimeSpan time;
    }

    class MUZIK{
    (muzik çalacak bir sınıf) ses;
    TimeSpan time;
    TimeSpanCurrentTime;
    }


    class Clip{

    List<Frame> frames;
    List<Muzik> musics;

    Frame currentFrame;
    List<Muzik> currentSounds;

    TimeSpan Duration; // bu klibin uzunluğu
    TimeSpan CurrentTime;
    bool playing;

    public void Start(){
    StartTime=TimeSpan.FromSecond(0);//başlangıç anı
    playing=true;
    }

    //bu update fonksiyonu ile saniyenin 60 da biri kadar bir zaman ekleyip , o ana denk gelen ses ve resmi bulmalısın.
    public void Update(TimeSpan Delta){
    if(playing){

    CurrentTime=CurrentTime.add(Delta);


    currentMusics.clear();

    if(currentTime>Duration)
    {
    stop(); //bitti
    return;
    }
    //cizilecek resmi bul
    for(int i=0; i< frames.Length; i++){
    if(frame [ i ].time<CurrentTime)
    currentFrame=frame [ i ];
    }
    //calınacak sesleri bul
    for(int i=0; i< musics.Length; i++){
    if(musics [ i ].time<CurrentTime && musics [ i ].time+musics [ i ].duration > CurrentTime)
    {
    musics [ i ].CurrenTime=CurrentTime-musics [ i ].time;
    currentMusics.add(musics [ i ]);
    }
    }

    }else
    throw exception("clip başlamadı");
    }

    public void Draw(){

    // burda senin resmi çizdirip , sesleri oynatman lazım
    ciz(currentImage);
    for i=0 to currentmusic
    playmusic(music.ses,music.currentTime) // musicleri çalacak sınıfın yada fonksiyonun olmalı

    }

    public void Stop(){
    playing=false;
    }

    }



    .....
    Clip clip;
    initalizeClip()
    clip.Start()

    DateTime LastTime = DateTime.Now;
    DateTime CurrentTime = DateTime.Now;


    Timer t = new Timer(new TimerCallback(ob => {
    LastTime = CurrentTime;
    TimeSpan delta = CurrentTime - LastTime;
    clip.Update(delta)

    }));



    < Bu mesaj bu kişi tarafından değiştirildi ayhanbilgin -- 12 Mayıs 2014; 11:14:39 >







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.