The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bb::Collaborate::V3::Multimedia - Multimedia entity class

DESCRIPTION

This command uploads supported multimedia files into your ELM repository for use by your Collaborate sessions.

Once uploaded, you will need to "attach" the file to one or more Collaborate sessions using the Bb::Collaborate::V3::Session set_multimedia() method.

PROPERTIES

multimediaId (Int)

Identifier of the multimedia file in the ELM repository.

description (Str)

A description of the multimedia content.

size (Int)

The size of the multimedia file (bytes), once uploaded to the ELM repository.

creatorId (Str)

The identifier of the owner of the multimedia file.

filename (Str)

The name of the multimedia file including the file extension. Collobrate supports the following multimedia file types:

  • MPEG files: .mpeg, .mpg, .mpe, .m4v, .mp4

  • QuickTime files: .mov, .qt

  • Windows Media files: .wmv

  • Flash files: .swf

  • Audio files: .mp3

The filename must be less than 64 characters (including any file extensions).

METHODS

upload

Uploads content and creates a new multimedia resource.

You can either upload a file:

    # 1. upload a local file
    my $multimedia1 = Bb::Collaborate::V3::Multimedia->upload('c:\\Documents\intro.wav');

or source binary content:

    # 2. source our own binary content
    open (my $fh, '<', $multimedia_path)
        or die "unable to open $multimedia_path: $!";
    $fh->binmode;

    my $content = do {local $/ = undef; <$fh>};
    die "no multimedia data: $multimedia_path"
        unless ($content);

    my $multimedia2 = Bb::Collaborate::V3::Multimedia->upload(
             {
                    filename => 'whoops.wav',
                    creatorId =>  'alice',
                    content => $content,
                    description => 'Caravan destroys service station',
             },
         );

You can assign multiple multimedia items to a session:

    $some_session->set_multimedia( [$multimedia1, $multimedia2] );

list

    my $session_presentations = Bb::Collaborate::V3::Multimedia->list(
                                   filter => {sessionId => $my_session->id}
                                );

Lists multimedia. You will need to provide a filter that contains at least one of: sessionId, creatorId, description or multimediaId.

delete

    $multimedia->delete;

Deletes multimedia content from the server and removes it from any associated sessions.