/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.wicket.examples.media;
import java.util.UUID;
import org.apache.wicket.examples.WicketExamplePage;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.media.Source;
import org.apache.wicket.markup.html.media.video.Video;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.PackageResourceReference;
/**
* Demonstrates different flavors of org.apache.wicket.examples.videos.<br>
* <br>
*
* Videos are from: http://media.w3.org/2010/05/video/<br>
* <br>
* Images are from: http://search.creativecommons.org/ with check on commercial use and modify...
*
* @author Tobias Soloschenko
*/
public final class Home extends WicketExamplePage
{
private static final long serialVersionUID = 1L;
/**
* Constructor
*/
public Home()
{
// Internal video with several options
Video video1 = new Video("video1",
new PackageResourceReference(Home.class, "video1.mp4").readBuffered(false));
video1.setAutoplay(false);
video1.setControls(true);
video1.setLooping(false);
video1.setWidth(320);
video1.setHeight(240);
video1.setType("video/mp4");
video1.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
add(video1);
// video with source
Video video2 = new Video("video2");
video2.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
Source source2 = new Source("source2",
new PackageResourceReference(Home.class, "video2.mp4"));
// Need to be set to true to show the type
source2.setDisplayType(true);
// the default type is the mime type of the image with no codec information
source2.setType("video/mp4");
video2.add(source2);
add(video2);
// External video
PageParameters pageParameters = new PageParameters();
pageParameters.add("random", UUID.randomUUID().toString());
pageParameters.add("test", "test");
Video video3 = new Video("video3", "https://w3c-test.org/media/movie_300.mp4",
pageParameters);
video3.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
video3.setType("video/mp4");
add(video3);
/*
* // video with track Video video4 = new Video("video4", new
* PackageResourceReference(Home.class, "dummyVideo.m4a"));
*
* // source tag Source source4 = new Source("source4",
* "http://www.mytestpage.xc/video.m4a"); source4.setMedia("screen and (device-width:500px)"
* ); source4.setType("video/mp4"); source4.setDisplayType(true); video4.add(source4);
*
* // tack tag Track track4 = new Track("track4", new PackageResourceReference(Home.class,
* "dummySubtitles.vtt")); track4.setKind(Kind.subtitles); track4.setLabel(
* "Subtitles of video"); track4.setSrclang(Locale.GERMANY); track4.setDefaultTrack(true);
* video4.add(track4);
*
* add(video4);
*/
}
@Override
public void renderHead(IHeaderResponse response)
{
super.renderHead(response);
response.render(
CssHeaderItem.forReference(new PackageResourceReference(Home.class, "Home.css")));
}
}