Recherche avancée

Médias (0)

Mot : - Tags -/signalement

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (37)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (5981)

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

    10 janvier 2013, par Johann

    Merge "configure : support mingw-w64"

  • 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()) ; (...)

  • 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)"