Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (41)

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

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (2773)

  • Revision 8b22a9d377 : Merge "Use FRAGMENT_DATA struct in pbi"

    29 janvier 2013, par Scott LaVarnway

    Merge "Use FRAGMENT_DATA struct in pbi"

  • Revision 14301116e2 : Merge "WIP : Multiple decoder instances support"

    31 janvier 2013, par Jim Bankoski

    Merge "WIP : Multiple decoder instances support"

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