Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (81)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (6103)

  • I wonder why logcat says "NO SUCH A FILE OR DIRECTORY(2)"

    22 septembre 2013, par autoexebat

    I wanna play audio on Android with ffmpeg.
    But when I run this project, error has occurred

    what should I do ?

    java SIDE

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import android.app.Activity;
    import android.media.AudioFormat;
    import android.media.AudioManager;
    import android.media.AudioTrack;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.os.SystemClock;

    public class FFmpegBasic extends Activity
    {
       private AudioTrack track;
       private FileOutputStream os;
       /** Called when the activity is first created. */
       @Override
       public void onCreate(Bundle savedInstanceState)
       {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.main);
           createEngine();

           int bufSize = AudioTrack.getMinBufferSize(44100,
                                                     AudioFormat.CHANNEL_CONFIGURATION_STEREO,
                                                     AudioFormat.ENCODING_PCM_16BIT);


           track = new AudioTrack(AudioManager.STREAM_MUSIC,
                                  44100,
                                  AudioFormat.CHANNEL_CONFIGURATION_STEREO,
                                  AudioFormat.ENCODING_PCM_16BIT,
                                  bufSize,
                                  AudioTrack.MODE_STREAM);

           byte[] bytes = new byte[bufSize];

           try {
               os = new FileOutputStream("/sdcard/a.out",false);
           } catch (FileNotFoundException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }

           String result = "/mnt/sdcard/Wildlife.mp3";
           loadFile(result,bytes);

           try {
               os.close();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }

       void playSound(byte[] buf, int size) {  
           if(track.getPlayState()!=AudioTrack.PLAYSTATE_PLAYING)
               track.play();
           track.write(buf, 0, size);

           try {
               os.write(buf,0,size);
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }


       private native void createEngine();
       private native void loadFile(String file, byte[] array);

       /** Load jni .so on initialization*/
       static {
            System.loadLibrary("avutil");
            System.loadLibrary("avcore");
            System.loadLibrary("avcodec");
            System.loadLibrary("avformat");
            System.loadLibrary("avdevice");
            System.loadLibrary("swscale");
            System.loadLibrary("avfilter");
            System.loadLibrary("ffmpeg");
            System.loadLibrary("basicplayer");
       }
    }

    c SIDE


    #include
    #include
    #include
    #include <android></android>log.h>

    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    #include "avcodec.h"
    #include "avformat.h"




    void Java_net_jbong_FFmpegBasic_FFmpegBasic_createEngine(JNIEnv* env, jclass clazz)
       {
           //avcodec_init();

           av_register_all();


       }

    void Java_net_jbong_FFmpegBasic_FFmpegBasic_loadFile(JNIEnv* env, jobject obj, jstring file, jbyteArray array)
    {

       AVFormatContext *gFormatCtx = NULL;
       AVCodecContext *gAudioCodecCtx = NULL;
       AVCodec *gAudioCodec = NULL;
       int gAudioStreamIdx = -1;
       char *gAudioBuffer = NULL;
       int i, outsize = 0;
       AVPacket packet;
       const char *str;
       str = (*env)->GetStringUTFChars(env, file, NULL);
       jclass cls = (*env)->GetObjectClass(env, obj);
       jmethodID play = (*env)->GetMethodID(env, cls, "playSound", "([BI)V");

       if (gFormatCtx != NULL)
           return -1;
       if (av_open_input_file(&amp;gFormatCtx,str,NULL,0,NULL)!=0)
           return -2;
       if (av_find_stream_info(gFormatCtx) &lt; 0)
           return -3;

       for(i=0; inb_streams; i++)
       {
           if(gFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
           {
               gAudioStreamIdx = i;
               break;
           }
       }

       if (gAudioStreamIdx == -1)
           return -4;
       gAudioCodecCtx = gFormatCtx->streams[gAudioStreamIdx]->codec;
       gAudioCodec = avcodec_find_decoder(gAudioCodecCtx->codec_id);

       if (gAudioCodec == NULL)
           return -5;

       if (avcodec_open(gAudioCodecCtx, gAudioCodec)&lt;0)
           return -6;


       gAudioBuffer = (char *)av_malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE *2);
       int decode = 0;

       while (av_read_frame(gFormatCtx, &amp;packet) >= 0)
       {
        if (gFormatCtx-> streams[packet.stream_index]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
        {
            int data_size = AVCODEC_MAX_AUDIO_FRAME_SIZE * 8;
            gAudioBuffer = (char *)av_malloc(data_size);
            int size=packet.size;
            while(size > 0)
            {
             int len = avcodec_decode_audio3(gAudioCodecCtx,
               (short *) gAudioBuffer, &amp;data_size, &amp;packet);
             if (data_size > 0)
             {
                       jbyte *bytes = (*env)->GetByteArrayElements(env, array, NULL);
                          memcpy(bytes + decode, (int16_t *)gAudioBuffer, size);
                          (*env)->ReleaseByteArrayElements(env, array, bytes, 0);
                          (*env)->CallVoidMethod(env, obj, play, array, data_size);
                          decode += size;
                          size -= len;

             }
            }
        }
        av_free_packet(&amp;packet);
       }

       av_close_input_file(gFormatCtx);
       return 0;
    }

    Why my android logcat show me this message ?
    "error opening trace file : No such file or directory (2)"

  • Added "previewdone" callback. Closes #2011.

    16 janvier 2013

    m js/jquery.fileupload-ui.js Added "previewdone" callback. Closes #2011. The rendered preview element can be accessed the following way : $('#fileupload').on('fileuploadpreviewdone', function (e, data) console.log($(e.originalEvent.target).children()) ; (...)

  • Revision af0ed41754 : Merge "configure : support mingw-w64"

    10 janvier 2013, par Johann

    Merge "configure : support mingw-w64"