媒体元素集成到Ckeditor中

时间:2012-07-18 15:06:31

标签: javascript audio ckeditor mp3 mediaelement.js

我遇到了wysiwig编辑器ckeditor的一些麻烦。在试图摆脱任何基于闪存的媒体播放器时,我偶然发现了MediaElement(http://mediaelementjs.com/),这被认为是播放音频和视频(http://drupal.org/node/1035630)的好选择。

有没有简单的方法将此播放器集成到媒体插件中?我想应该有一种方法来替换基于flash的播放器播放媒体元素..?

思考?

1 个答案:

答案 0 :(得分:3)

您可以根据Flash插件创建自定义插件。

资本化很重要,这是风格指南:编码风格指南 http://docs.cksource.com/FCKeditor_3.x/Design_and_Architecture/Coding_Style

复制_source/plugins/flash目录并重命名,我们称之为mediaelement。

将重命名的目录放在/plugins/mediaelement

然后将/plugins/mediaelement/dialogs/flash.js重命名为mediaelement.js

16px X 16px工具栏按钮图像添加到/plugins/mediaelement/images/目录 我知道.png文件有效,没有尝试其他文件。


<强>配置:
在配置中加载新插件:

config.extraPlugins = 'mediaelement';

将按钮添加到工具栏配置设置'MediaElement'

config.toolbar_xxx

文件修改
您需要更改对“flash”插件名称和文件的引用。以下是加载插件和打开对话框窗口所需的最小更改:

plugins / mediaelement / dialogs / mediaelement.js(174)

CKEDITOR.dialog.add( 'mediaelement', function( editor )

plugins / mediaelement / plugin.js(22 - 33)

  CKEDITOR.plugins.add( 'mediaelement',
  {
    init : function( editor )
    {
      editor.addCommand( 'mediaelement', new CKEDITOR.dialogCommand( 'mediaelement' ) );
      editor.ui.addButton( 'MediaElement',
        {
          label : 'Media Element',
          command : 'mediaelement',
          icon: this.path + 'images/mediaelement_btn.png'
        });
      CKEDITOR.dialog.add( 'mediaelement', this.path + 'dialogs/mediaelement.js' );

这里有一些关于创建插件的教程:
http://docs.cksource.com/CKEditor_3.x/Tutorials

他们将让您了解结构和所需元素。我在使用现有插件的副本时通过教程学习了这一点,花了一些时间,但你需要的大部分都在那里。

教程包含有关创建对话框窗口和所用参数的信息,它们将帮助您了解plugins/mediaelement/dialogs/mediaelement.js文件中发生的情况。

您可以修改对话框文件以包含MediaElement实现使用的字段。我建议您将flash的嵌入代码与用于Media Element的嵌入代码进行比较,以查看哪些部分相互对应,并相应地修改对话框文件。