8

Android'de, bir Video URL'sinden kısa bir klip (örn: videoda keyfi 5-10 saniye) kaydetmek mümkün olur (örn .: http://www.test.com/video.mp4)? Örneğin, bir Etkinlikte bir video (url'den) akışını yapmak ve bundan kısa bir klip yakalama/kaydetme olanağına izin vermek istiyorum. Belki de kullanıcının videodan keyfi bir Başlangıç ​​/ Bitiş zamanı kaydetmesine izin verin. Öyleyse, bunu gerçekleştirmek için bir API var mı? Değilse, bunu destekleyen bir Android kütüphanesi var mı?Android'de Video URL'sinden klip yakalama/kaydetme ve telefona kaydetme

Lütfen bunun için örnek bir kod çözümü verin.

+0

"Video URL’den kısa bir klip kaydet" ne anlama geliyor? – CommonsWare

+0

Üzgünüz, yayınlamak için asıl gönderiyi güncelledim. – codeshark

+0

@ android-user, sorununuzu çözdüyse cevabımı kabul etmenizi isteyebilir miyim? –

cevap

1

android.media.projection kütüphanesini aradığınızı sanırım. MediaProjectionDemo

burada bu kitaplığı androidin belgelerine isteyen varsa İşte link

olduğunu Kayda videoyu söz de takip etmek isteyebileceğiniz bir issue tracker edilir: Burada nasıl kullanılacağını için bir örnek bir bağlantıdır ve aynı zamanda audo.

4

this bağlantılarını görmektesiniz. Kısacası sunucunuzun indirmeyi desteklemesi gerekiyor. Bunu yaparsa, aşağıdaki kodu deneyebilirsiniz:

private final int TIMEOUT_CONNECTION = 5000; //5sec 
private final int TIMEOUT_SOCKET = 30000; //30sec 
private final int BUFFER_SIZE = 1024 * 5; // 5MB 

private final int TIMEOUT_CONNECTION = 5000; //5sec 
private final int TIMEOUT_SOCKET = 30000; //30sec 
private final int BUFFER_SIZE = 1024 * 5; // 5MB 

try { 
    URL url = new URL("http://...."); 

    //Open a connection to that URL. 
    URLConnection ucon = url.openConnection(); 
    ucon.setReadTimeout(TIMEOUT_CONNECTION); 
    ucon.setConnectTimeout(TIMEOUT_SOCKET); 

    // Define InputStreams to read from the URLConnection. 
    // uses 5KB download buffer 
    InputStream is = ucon.getInputStream(); 
    BufferedInputStream in = new BufferedInputStream(is, BUFFER_SIZE); 
    FileOutputStream out = new FileOutputStream(file); 
    byte[] buff = new byte[BUFFER_SIZE]; 

    int len = 0; 
    while ((len = in.read(buff)) != -1) 
    { 
     out.write(buff,0,len); 
    } 
} catch (IOException ioe) { 
    // Handle the error 
} finally { 
    if(in != null) { 
    try { 
     in.close(); 
    } catch (Exception e) { 
     // Nothing you can do 
    } 
    } 
    if(out != null) { 
    try { 
     out.flush(); 
     out.close(); 
    } catch (Exception e) { 
     // Nothing you can do 
    } 
    } 
} 

Sunucu karşıdan yüklemeyi desteklemiyorsa, yapabileceğiniz bir şey yoktur.

+0

Teşekkür ederim Kiril. Videoları videoya nasıl belirleyebilirim? Örneğin, videonun ortasında sadece 5 saniye kaydetmek istediğimi söyleyebilirmiyim? – codeshark

+0

Teşekkür ederiz @Kiril – codeshark

+0

Bunu yapabileceğinizden emin değilim. Size bu tür bir özellik sunabilecek belirli bir HTTP üstbilgisine aşina değilim. Belirli bir veri aralığını indirebilir, ancak her video için kalite ve boyut arasındaki ilişkiyi bulmanız gerekir. –

İlgili konular