
Recherche avancée
Médias (1)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
Autres articles (63)
-
Le profil des utilisateurs
12 avril 2011, parChaque 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 (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (6067)
-
Revision 37609 : - Ne pas tenter d’afficher des logos inexistants - Corriger un problème ...
24 avril 2010, par marcimat@… — LogNe pas tenter d’afficher des logos inexistants
Corriger un problème sur l’ordre d’installation des plugins, il manquait le fait qu’un plugin a installer pouvait être la dépendence d’un autre à installer, mais dont l’analyse était déjà effectuée.
-
Revision 37609 : - Ne pas tenter d’afficher des logos inexistants - Corriger un problème ...
24 avril 2010, par marcimat@… — LogNe pas tenter d’afficher des logos inexistants
Corriger un problème sur l’ordre d’installation des plugins, il manquait le fait qu’un plugin a installer pouvait être la dépendence d’un autre à installer, mais dont l’analyse était déjà effectuée.
-
how can i use the sox library to process the audio frame decoded by ffmpeg ?
14 juin 2023, par bishop使用sox音频处理库处理经过ffmpeg解码得到的音频帧,


//使用sox处理音频
 int sox_count = 9;
 if (StreamType::AUDIO == stream_type_ ) {
 sox_init();

 sox_signalinfo_t* in_signal = new sox_signalinfo_t();
 in_signal->rate = frame->sample_rate;
 in_signal->channels = frame->ch_layout.nb_channels;
 in_signal->length = frame->nb_samples * in_signal->channels;
 in_signal->precision = av_get_bytes_per_sample(static_cast<avsampleformat>(frame->format)) * 8;

 //= new sox_format_t();
 sox_encodinginfo_t* in_encoding = new sox_encodinginfo_t ();
 in_encoding->encoding = SOX_ENCODING_SIGN2 ;
 sox_format_t* tempFormat = sox_open_mem_read(frame->data[0],
 frame->linesize[0],
 in_signal, in_encoding, "raw");

 //sox_write(tempFormat, reinterpret_cast<const>(frame->data[0]), frame->nb_samples);

 sox_signalinfo_t* out_signal = in_signal; // 输出音频的参数与输入音频相同
 //out_signal->rate = new_sample_rate; // 新的采样率,根据需要进行修改

 sox_encodinginfo_t* out_encoding = in_encoding; // 输出音频的编码格式与输入音频相同

 sox_format_t* outputFormat = sox_open_mem_write(frame->data[0],
 frame->linesize[0],
 out_signal, out_encoding, "raw", nullptr);

 // 3. 使用SoX处理临时文件中的音频数据
 sox_effects_chain_t* chain = sox_create_effects_chain(&tempFormat->encoding, &outputFormat->encoding);
 sox_effect_t* effect;
 char* args[10];

 effect = sox_create_effect(sox_find_effect("input"));
 args[0] = (char*)tempFormat; // 变调参数,可以根据需求进行修改
 assert(sox_effect_options(effect, 1, args) ==SOX_SUCCESS);
 assert(sox_add_effect(chain, effect, &tempFormat->signal, &tempFormat->signal) == SOX_SUCCESS);
 free(effect);


 effect = sox_create_effect(sox_find_effect("vol"));
 args[0] = "200dB", assert(sox_effect_options(effect, 1, args) == SOX_SUCCESS);
 /* Add the effect to the end of the effects processing chain: */
 assert(sox_add_effect(chain, effect, &tempFormat->signal, &tempFormat->signal) == SOX_SUCCESS);
 free(effect);

 /*
 effect = sox_create_effect(sox_find_effect("pitch"));
 args[0] = {"50.0"}; // 变调参数,可以根据需求进行修改
 assert(sox_effect_options(effect, 1, args) == SOX_SUCCESS);
 assert(sox_add_effect(chain, effect, &tempFormat->signal, &outputFormat->signal) == SOX_SUCCESS);
 free(effect);
 */

 effect = sox_create_effect(sox_find_effect("output"));
 args[0] = (char*)outputFormat; // 变调参数,可以根据需求进行修改
 assert(sox_effect_options(effect, 1, args) == SOX_SUCCESS);
 if(sox_add_effect(chain, effect, &tempFormat->signal, &outputFormat->signal) == SOX_SUCCESS) {
 std::cout<<"true"</assert(sox_add_effect(chain, effect, &tempFormat->signal, &outputFormat->signal) == SOX_SUCCESS);
 free(effect);

 // 4. 处理音频数据
 sox_flow_effects(chain, nullptr, nullptr);

 fflush((FILE*)outputFormat->fp); 
 memcpy(frame->data[1], frame->data[0], frame->linesize[0]);

 // 释放资源
 sox_delete_effects_chain(chain);
 sox_close(tempFormat);
 sox_close(outputFormat);
 sox_quit();

 }
</const></avsampleformat>


error :"input : : this handler does not support this data size"


when execute in the line of "sox_flow_effects(chain, nullptr, nullptr) ;"


how can i fixed this problem ?


i have changed the val of "sox_format_t* tempFormat = sox_open_mem_read(frame->data[0],
frame->linesize[0],
in_signal, in_encoding, "raw") ;" buffer_size,but also not right.